Обозначение НТД, на который дана ссылка | Номер приложения |
ГОСТ 22558-77* | Приложение 1 |
______________
* На территории Российской Федерации документ не действует. Действует ГОСТ 22558-89 (настоящий стандарт). - Примечание изготовителя базы данных.
Ядро | ЯДР |
Последовательный ввод-вывод | ПОД |
Относительный ввод-вывод | ОТД |
Индексный ввод-вывод | ИПД |
Межпрограммные связи | МПС |
Сортировка-слияние | СРТ |
Обработка исходных текстов | ОИТ |
Генератор отчетов | ГОТ |
Коммуникации | КОМ |
Отладка | ОТЛ |
Сегментация | СЕГ |
Подмно- жества Кобола | Обязательные модули (обязательны в подмножествах) | Необязательные модули (не обязательны в подмножествах) | |||||||||
Ядро | Последо- ватель- ный ввод- вывод | Относи- тельный ввод- вывод | Индексный ввод- вывод | Межпрог- раммные связи | Сорти- ровка- слияние | Обра- ботка исходных текстов | Гене- ратор отчетов | Коммуни- кации | Отладка | Сегмен- тация | |
Макси- мальное | 2 ЯДР 1,2 | 2 ПОД 1,2 | 2 ОТД 0,2 | 2 ИПД 0,2 | 2 МПС 1,2 | 1 СРТ 0,1 | 2 ОИТ 0,2 | 1 ГОТ 0,1 | 2 КОМ 0,2 | 2 ОТЛ 0,2 | 2 СЕГ 0,2 |
Проме- жуточное | 1 ЯДР 1,2 | 1 ПОД 1,2 | 1 ОТД 0,2 | 1 ИПД 0,2 | 1 МПС 1,2 | 1 СРТ 0,1 | 1 ОИТ 0,2 | 1 КОМ 0,2 | 1 ОТЛ 0,2 | 1 СЕГ 0,2 | |
Мини- мальное | 1 ЯДР 1,2 | 1 ПОД 1,2 | Нуль (пустое подмно- жество) | Нуль (пустое подмн- жество) | 1 МПС 1,2 | Нуль (пустое подмно- жество) | Нуль (пустое подмно- жество) |
Элемент | Уровень 1 | Уровень 2 |
ПОНЯТИЯ ЯЗЫКА | ||
Набор литер | ||
Литеры, используемые для слов | ||
в английской нотации 0-9, A-Z, - (дефис) | x | x |
в русской нотации А-Я, D, F, G, I, J, L, N, Q, R, S, U, V, W, Y, Z, 0-9, - (дефис) | x | x |
Литеры, используемые для пунктуации " ( ) . , ; пробел | x | x |
Литеры, используемые для пунктуации : (двоеточие) | - | x |
Литеры, используемые для редактирования В + - . , Z (П) * 0 CR (КP) DВ (ДБ) / | x | x |
Литеры, используемые в арифметических операциях + - * / ** | - | x |
Литеры, используемые в отношениях = >= <=> < | x | x |
Литеры, используемые при индексировании + - | x | x |
Разрешена замена одной литерой | x | х |
Разрешена замена парами литер | + | + |
Разделители | ||
" ( ) . , ; пробел | x | x |
: (двоеточие) | - | x |
Строки-литер | ||
Слова Кобола | ||
Не более 30 литер | х | х |
Слова, определенные пользователем | ||
имя-алфавита | x | х |
имя-класса | х | х |
имя-условия | - | х |
имя-данного | x | х |
имя-индекса | x | х |
номер-уровня | х | x |
мнемоническое-имя | х | х |
имя-параграфа | x | x |
имя-программы | x | x |
имя-программного-модуля | + | + |
имя-секции | x | x |
символическая-литера | - | х |
Системные-имена | ||
имя-машины | х | х |
имя-реализации | x | х |
имя-языка | + | + |
Зарезервированные слова | ||
Обязательные слова | x | х |
Ключевые слова | x | х |
Слова специальные литеры | ||
Знаки арифметических операций + - * / ** | - | х |
Знаки арифметических операций при индексировании + - | x | x |
Литеры отношения = > < >= <= | x | x |
Необязательные слова | x | x |
Слова специального назначения | ||
Стандартные константы: | ||
ZERO (НУЛЬ), ZEROS, ZEROES (НУЛИ), SPACE (ПРОБЕЛ), SPACES (ПРОБЕЛЫ), HIGH-VALUE (НАИБОЛЬШЕЕ-ЗНАЧЕНИЕ), HIGH-VALUES (НАИБОЛЬШИЕ-ЗНАЧЕНИЯ), LOW-VALUE (НАИМЕНЬШЕЕ-ЗНАЧЕНИЕ), LOW-VALUES (НАИМЕНЬШИЕ-ЗНАЧЕНИЯ), QUOTE (КАВЫЧКА), QUOTES (КАВЫЧКИ) | x | х |
Стандартные константы: символическая-литера, ALL литерал (ВСЕ литерал), ALL стандартная-константа (ВСЕ стандартная-константа), ALL символическая-литера (ВСЕ символическая-литера) | - | х |
Литералы | ||
Числовые литералы: от 1 до 18 цифр | x | x |
Нечисловые литералы: от 1 до 160 литер | х | x |
PICTURE строка-литер (ШАБЛОН строка-литер) | x | x |
Статья-комментарий | + | + |
Однозначность ссылки | ||
Уточнение | ||
Уточнение недопустимо, имена должны быть однозначны при ссылке | х | - |
50 уточнителей | - | х |
Индексирование | ||
3 уровня индексов | x | - |
7 уровней индексов | - | х |
Индексирование литералом | х | x |
Индексирование именем-данного | х | х |
Индексирование именем индекса | х | х |
Относительное индексирование | x | х |
Модификация ссылки | - | x |
Формат представления | ||
Порядковый номер | x | x |
Продолжение строк | ||
Нечисловой литерал | x | x |
Слова Кобола, числовой литерал, строка-литер шаблона | - | x |
Строки пробелов (пустые строки) | x | x |
Строки комментария | ||
Строки комментария со звездочкой (*) | x | x |
Строки комментария с дробной чертой (/) | x | x |
Отладочная строка с литерой D (Т) в поле индикатора | x | x |
Структура исходной программы | ||
Раздел идентификации обязателен | x | x |
Раздел оборудования необязателен | x | x |
Раздел данных необязателен | x | x |
Раздел процедур необязателен | x | x |
Заголовок конца программы | - | x |
РАЗДЕЛ ИДЕНТИФИКАЦИИ | ||
Параграф PROGRAM-ID (ПРОГРАММА) | x | x |
имя-программы | x | x |
Параграф AUTHOR (АВТОР) | + | + |
Параграф INSTALLATION (ПРЕДПРИЯТИЕ) | + | + |
Параграф DATE-WRITTEN (ДАТА-НАПИСАНИЯ) | + | + |
Параграф DATE-COMPILED (ДАТА-ТРАНСЛЯЦИИ) | - | + |
Параграф SECURITY (ПОЛНОМОЧИЯ) | + | + |
РАЗДЕЛ ОБОРУДОВАНИЯ | ||
Секция конфигурации | ||
Параграф SOURCE-COMPUTER (ИСХОДНАЯ-МАШИНА) | x | х |
имя-машины | x | x |
фраза WITH DEBUGGING MODE (В РЕЖИME ОТЛАДКИ) | x | x |
Параграф OBJECT-COMPUTER (РАБОЧАЯ-МАШИНА) | х | х |
имя-машины | х | х |
фраза MEMORY SIZE (РАЗМЕР ПАМЯТИ) | + | + |
фраза PROGRAM COLLATING SEQUENCE (ПРОГРАММНЫЙ АЛФАВИТ) | x | x |
Параграф SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА) | х | х |
Фраза ALPHABET (АЛФАВИТ) | х | х |
вариант STANDARD-1 (СТАНДАРТ-А) | х | х |
вариант STANDARD-2 (СТАНДАРТ-М) | х | х |
вариант NATIVE (ВНУТРЕННИЙ) | х | х |
вариант имя-реализации | x | х |
вариант литерал | - | x |
Фраза CLASS (КЛАСС) | x | x |
Фраза CURRENCY SIGN (ВАЛЮТНЫЙ ЗНАК) | х | х |
Фраза DECIMAL-POINT (ДЕСЯТИЧНАЯ ТОЧКА) | x | x |
Фраза имя-реализации | x | x |
вариант IS мнемоническое-имя | x | x |
вариант ON STATUS IS имя-условия (ВКЛЮЧЕНО имя-условия) | x | x |
вариант OFF STATUS IS имя-условия (ВЫКЛЮЧЕНО имя-условия) | x | x |
Фраза SYMBOLIC CHARACTER (СИМВОЛИЧЕСКАЯ ЛИТЕРА) | - | x |
РАЗДЕЛ ДАННЫХ | ||
Секция рабочей памяти | ||
Статья-описания записи | x | x |
Статья описания уровня 77 | x | x |
Статья описания данного | ||
Фраза BLANK WHEN ZERO (ПРОБЕЛ КОГДА НУЛЬ) | x | x |
Фраза имя-данного | x | x |
Фраза FILLER (ЗАПОЛНИТЕЛЬ) | x | x |
Фраза JUSTIFIED (СДВИНУТО) | x | x |
Фраза номер-уровня | x | x |
от 01 до 49; одна или две цифры | x | x |
66 | - | x |
77 | x | x |
88 | - | x |
Фраза-OCCURS (ПОВТОРЯЕТСЯ) | x | x |
целое TIMES (целое РАЗ) | x | x |
фраза ASCENDING/DESCENDING KEY (ПО ВОЗРАСТАНИЮ/УБЫВАНИЮ КЛЮЧА) | - | x |
фраза INDEXED BY (ИНДЕКСИРУЕТСЯ) | x | x |
фраза-целое-1 ТО целое-2 TIMES DEPENDING ON (целое-1 ДО целое-2 РАЗ В ЗАВИСИМОСТИ ОТ) | - | х |
Фраза PICTURE (ШАБЛОН) | x | x |
строка-литер содержит не более 30 литер | x | x |
литеры данных: X 9 А | x | x |
операционные символы: S(3) V(T) P(M) | x | x |
литеры фиксированной вставки В + -. 0 CR (КР) DB (ДБ) / | x | x |
литеры замещения или плавающей вставки* + - Z (П) | x | x |
замена валютного знака | x | x |
замена десятичной точки | x | x |
Фраза REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ) | x | x |
не может быть вложенной | x | - |
может быть вложенной | - | х |
Фраза RENAMES (ПЕРЕИМЕНОВЫВАЕТ) | - | х |
Фраза SIGN (ЗНАК) | x | x |
Фраза SYNCHRONIZED (ВЫДЕЛЕНО) | x | x |
Фраза USAGE (об использовании) | x | x |
BINARY (ДВОИЧНОЕ) | x | x |
COMPUTATIONAL (ДЛЯ ВЫЧИСЛЕНИЙ) | x | x |
DISPLAY (ДЛЯ ВЫДАЧИ) | x | x |
INDEX (ДЛЯ ИНДЕКСА) | x | x |
PACKED-DECIMAL (ДЕСЯТИЧНОЕ) | x | x |
Фраза VALUE (ЗНАЧЕНИЕ) | x | x |
литерал | x | x |
несколько литералов | - | x |
литерал-1 THROUGH литерал-2 (литерал-1 ПО литерал-2) | - | x |
несколько диапазонов литералов | - | x |
РАЗДЕЛ ПРОЦЕДУР | ||
Арифметическое выражение | - | x |
Знаки бинарных арифметических операций + - * / ** | - | x |
Знаки унарных арифметических операций + - | - | x |
Условные выражения | x | x |
Простое условие | x | x |
Условие отношения | x | x |
Знаки операций отношения | ||
[NOT] GREATER THAN ([HE] БОЛЬШЕ) | x | x |
[NOT] > ([HE] >) | x | x |
[NOT] LESS THAN ([HE] МЕНЬШЕ) | x | x |
[NOT] < ([HE] td> | x | x |
[NOT] EQUAL TO ([NE] РАВНО) | x | x |
[NOT] = ([HE] =) | x | x |
GREATER THAN OR EQUAL TO (БОЛЬШЕ ИЛИ РАВНО) | x | x |
> = | x | x |
LESS THAN OR EQUAL TO (МЕНЬШЕ ИЛИ РАВНО) | x | x |
< = | x | x |
Сравнение числовых операндов | x | x |
Сравнение нечисловых операндов | x | x |
Сравнение имен индексов и (или) индексных данных | x | x |
Условие класса | x | x |
NUMERIC (ЧИСЛОВОЕ) | x | x |
ALPHABETIC (БУКВЕННОЕ) | x | x |
ALPHABETIC-LOWER (СТРОЧНЫЕ) | x | x |
ALPHABETIC-UPPER (ПРОПИСНЫЕ) | x | x |
имя-класса | x | x |
Условие имени-условия | - | x |
Условие знака | - | x |
Условие состояния переключателя | x | x |
Сложное условие | - | x |
Знаки логических операций AND (И) OR (ИЛИ) NOT (HE) | - | x |
Отрицание условия | - | x |
Комбинированное условие | - | x |
Условие в скобках | х | x |
Сокращенные комбинированные условия отношений | - | x |
Арифметические операторы | x | x |
Арифметические операнды имеют длину до 18 цифр | x | x |
Композиция операндов содержит не более 18 цифр | x | x |
Оператор ACCEPT (ПРИНЯТЬ) | x | x |
идентификатор | x | x |
только одна передача данных | x | - |
число передач данных не ограничивается | - | x |
фраза FROM, мнемоническое-имя (С мнемоническое-имя) | - | х |
фраза FROM DATE/DAY/DAY-OF-WEEK/TIME (ДАТУ/ДЕНЬ/ДЕНЬ/-НЕДЕЛИ/ВРЕМЯ) | - | x |
Оператор ADD (СЛОЖИТЬ) | x | x |
идентификатор/литерал | x | x |
несколько идентификаторов/литералов | x | x |
ТО идентификатор (С идентификатор) | x | x |
ТО несколько идентификаторов (С несколько идентификаторов) | x | x |
ТО идентификатор/литерал GIVING идентификатор (С идентификатор/литерал ПОЛУЧАЯ идентификатор | х | x |
ТО идентификатор/литерал GIVING несколько идентификаторов (С идентификатор/литерал ПОЛУЧАЯ несколько идентификаторов | x | x |
фраза ROUNDED (ОКРУГЛЯЯ) | x | x |
фраза ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ) | x | x |
фраза NOT ON SIZE ERROR (БЕЗ ПЕРЕПОЛНЕНИЯ) | x | x |
фраза END-ADD (КОНЕЦ-СЛОЖИТЬ) | x | x |
фраза CORRESPONDING (СООТВЕТСТВЕННО) | - | x |
Оператор ALTER (ИЗМЕНИТЬ) | + | + |
только одно имя-процедуры | + | - |
несколько имен-процедур | - | + |
Оператор COMPUTE (ВЫЧИСЛИТЬ) | - | x |
арифметическое выражение | - | x |
несколько идентификаторов | - | x |
фраза ROUNDED (ОКРУГЛЯЯ) | - | x |
фраза ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ) | - | x |
фраза NOT ON SIZE ERROR (БЕЗ ПЕРЕПОЛНЕНИЯ) | - | х |
фраза END-COMPUTE (КОНЕЦ-ВЫЧИСЛИТЬ) | - | x |
Оператор CONTINUE (ПРОДОЛЖИТЬ) | x | х |
Оператор DISPLAY (ВЫДАТЬ) | x | х |
только одна передача данных | x | - |
число передач данных не ограничено | - | x |
идентификатор/литерал | x | x |
несколько идентификаторов/литералов | х | x |
фраза UPON мнемоническое-имя (НА мнемоническое-имя) | - | х |
фраза WITH NO ADVANCING (БЕЗ ПРОДВИЖЕНИЯ) | - | x |
Оператор DIVIDE (РАЗДЕЛИТЬ) | - | x |
ВY идентификатор/литерал (НА идентификатор/литерал) | x | x |
INTO идентификатор/литерал (НА идентификатор/литерал) | х | x |
INTO несколько делимых (НА несколько делимых) | х | x |
GIVING идентификатор (ПОЛУЧАЯ идентификатор) | x | x |
GIVING несколько идентификаторов (ПОЛУЧАЯ несколько идентификаторов) | x | х |
фраза ROUNDED (ОКРУГЛЯЯ) | х | х |
фраза REMAINDER (ОСТАТОК) | - | х |
фраза ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ) | x | х |
фраза NOT ON SIZE ERROR (БЕЗ ПЕРЕПОЛНЕНИЯ) | х | х |
фраза END-DIVIDE (КОНЕЦ-РАЗДЕЛИТЬ) | х | х |
Оператор ENTER (ВОЙТИ) | + | + |
Оператор EVALUATE (ОЦЕНИТЬ) | - | х |
идентификатор/литерал | - | x |
арифметическое выражение | - | x |
условное выражение | - | х |
TRUE/FALSE (ИСТИНА/ЛОЖЬ) | - | х |
фраза ALSO (ТАКЖЕ) | - | х |
фраза WHEN (КОГДА) | - | x |
фраза ALSO (ТАКЖЕ) | - | x |
фраза WHEN OTHER (ИНАЧЕ) | - | х |
фраза END-EVALUATE (КОНЕЦ-ОЦЕНИТЬ) | - | х |
Оператор EXIT (ВЫЙТИ) | x | x |
Оператор GO TO (ПЕРЕЙТИ К) | х | х |
имя-процедуры обязательно | x | - |
имя-процедуры необязательно | - | + |
фраза DEPENDING ON (В ЗАВИСИМОСТИ ОТ) | х | х |
Оператор IF (ЕСЛИ) | х | х |
только повелительные операторы | х | - |
повелительные и (или) условные операторы | - | x |
вложенные операторы IF (ЕСЛИ) | х | х |
необязательное слово THEN (TO) | х | х |
фраза NEXT SENTENCE (СЛЕДУЮЩЕЕ ПРЕДЛОЖЕНИЕ) | х | х |
фраза ELSE (ИНАЧЕ) | х | х |
фраза END-IF (КОНЕЦ-ЕСЛИ) | х | х |
Оператор INITIALIZE (ИНИЦИИРОВАТЬ) | - | x |
несколько идентификаторов | - | x |
фраза REPLACING (ЗАМЕНЯЯ) | - | x |
несколько REPLACING (ЗАМЕНЯЯ) | - | x |
Оператор INSPECT (ПРОСМОТРЕТЬ) | x | x |
на вхождение одной литеры | x | - |
на вхождение нескольких литер | - | x |
фраза TALLYING (СЧИТАЯ) | x | x |
фраза BEFORE/AFTER (ДО/ПОСЛЕ) | x | x |
несколько фраз BEFORE/AFTER (ДО/ПОСЛЕ) | - | x |
несколько фраз TALLYING (СЧИТАЯ) | - | x |
фраза REPLACING (ЗАМЕНЯЯ) | x | x |
фраза BEFORE/AFTER (ДО/ПОСЛЕ) | x | x |
несколько фраз BEFORE/AFTER (ДО/ПОСЛЕ) | - | x |
несколько фраз REPLACING (ЗАМЕНЯЯ) | - | x |
фразы TALLYING (СЧИТАЯ) и REPLACING (ЗАМЕНЯЯ) | x | x |
фраза CONVERTING (ПРЕВРАЩАЯ) | - | x |
Оператор MOVE (ПОМЕСТИТЬ) | x | x |
ТО идентификатор (В идентификатор) | x | х |
ТО несколько идентификаторов (В несколько идентификаторов) | x | x |
дередактирование цифровых редактируемых данных | - | x |
фраза CORRESPONDING (СООТВЕТСТВЕННО) | - | х |
Оператор MULTIPLY (УМНОЖИТЬ) | x | x |
BY идентификатор (НА идентификатор) | x | x |
BY несколько идентификаторов (НА несколько идентификаторов) | х | x |
GIVING идентификатор (ПОЛУЧАЯ идентификатор) | x | x |
GIVING несколько идентификаторов (ПОЛУЧАЯ несколько идентификаторов) | х | x |
фраза ROUNDED (ОКРУГЛЯЯ) | x | x |
фраза ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ) | x | x |
фраза NOT ON SIZE ERROR (БЕЗ ПЕРЕПОЛНЕНИЯ) | х | x |
фраза END-MULTIPLY (КОНЕЦ-УМНОЖИТЬ) | x | х |
Оператор PERFORM (ВЫПОЛНИТЬ) | x | х |
имя-процедуры необязательно | x | х |
фраза THROUGH имя-процедуры (ПО имя-процедуры) | x | x |
вариант повелительный-оператор | x | х |
фраза END-PERFORM (КОНЕЦ-ВЫПОЛНИТЬ) | x | x |
фраза TIMES (РАЗ) | х | х |
фраза UNTIL (ДО) | x | x |
фраза TEST BEFORE/AFTER (С ПРОВЕРКОЙ В НАЧАЛЕ/В КОНЦЕ) | - | x |
фраза VARYING (МЕНЯЯ) | - | x |
фраза TEST BEFORE/AFTER (С ПРОВЕРКОЙ В НАЧАЛЕ/В КОНЦЕ) | - | x |
фраза AFTER (ЗАТЕМ) | - | x |
допускаются по крайней мере 6 фраз AFTER (ЗАТЕМ) | - | x |
Оператор SEARCH (ИСКАТЬ) | - | x |
фраза VARYING (МЕНЯЯ) | - | x |
фраза AT END (В КОНЦЕ) | - | x |
фраза WHEN (КОГДА) | - | x |
несколько фраз WHEN (КОГДА) | - | x |
фраза END-SEARCH (КОНЕЦ-ИСКАТЬ) | - | x |
Оператор SEARCH ALL (ИСКАТЬ ОСОБО) | - | x |
фраза AT END (В КОНЦЕ) | - | x |
фраза WHEN (КОГДА) | - | x |
фраза END-SEARCH (КОНЕЦ-ИСКАТЬ) | - | x |
Оператор SET (УСТАНОВИТЬ) | x | x |
имя-индекса/идентификатор ТО (НА) | x | x |
имя-индекса UP BY/DOWN BY (имя-индекса ПРИБАВЛЯЯ/ВЫЧИТАЯ) | х | x |
мнемоническое-имя ТО ON/OFF (мнемоническое-имя НА ВКЛЮЧЕНО/ВЫКЛЮЧЕНО) | х | x |
имя-условия ТО TRUE (имя-условия НА ИСТИНА) | - | x |
Оператор STOP (ОСТАНОВИТЬ) | x | x |
RUN (РАБОТУ) | x | x |
литерал | + | + |
Оператор STRING (СОБРАТЬ) | - | x |
несколько DELIMITED BY (ОГРАНИЧИВАЯСЬ) | - | x |
фраза WITH POINTER (УКАЗАТЕЛЬ) | - | x |
фраза ON OVERFLOW (ПРИ ПЕРЕПОЛНЕНИИ) | - | x |
фраза NOT ON OVERFLOW (БЕЗ ПЕРЕПОЛНЕНИЯ) | - | x |
фраза END-STRING (КОНЕЦ-СОБРАТЬ) | - | х |
Оператор SUBTRACT (ОТНЯТЬ) | х | x |
идентификатор/литерал | х | х |
несколько идентификаторов/литералов | x | х |
FROM идентификатор (ОТ идентификатор) | x | х |
FROM несколько идентификаторов (ОТ несколько идентификаторов) | x | х |
GIVING идентификатор (ПОЛУЧАЯ идентификатор) | x | х |
GIVING несколько идентификаторов (ПОЛУЧАЯ несколько идентификаторов) | х | x |
фраза ROUNDED (ОКРУГЛЯЯ) | х | х |
фраза ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ) | х | x |
фраза NOT ON SIZE ERROR (БЕЗ ПЕРЕПОЛНЕНИЯ) | х | x |
фраза END-SUBTRACT (КОНЕЦ-ОТНЯТЬ) | x | x |
фраза CORRESPONDING (СООТВЕТСТВЕННО) | - | х |
Оператор UNSTRING (РАЗОБРАТЬ) | - | х |
фраза DELIMITED BY (ОГРАНИЧИВАЯСЬ) | - | х |
фраза DELIMITER IN (ОГРАНИЧИТЕЛЬ В) | - | х |
фраза COUNT IN (СЧЕТ В) | - | х |
фраза WITH POINTER (УКАЗАТЕЛЬ) | - | х |
фраза TALLYING (СЧИТАЯ В) | - | х |
фраза ON OVERFLOW (ПРИ ПЕРЕПОЛНЕНИИ) | - | х |
фраза NOT ON OVERFLOW (БЕЗ ПЕРЕПОЛНЕНИЯ) | - | х |
фраза END-UNSTRING (КОНЕЦ-РАЗОБРАТЬ) | - | х |
Элемент | Уровень 1 | Уровень 2 |
ПОНЯТИЯ ЯЗЫКА | ||
Слова, определенные пользователем | ||
имя-файла | x | x |
имя-записи | х | x |
Зарезервированные слова | ||
Специальный регистр LINAGE-COUNTER (СЧЕТЧИК-ВЕРСТКИ) | - | x |
Состояние ввода-вывода | x | x |
РАЗДЕЛ ОБОРУДОВАНИЯ | ||
Секция ввода-вывода | ||
Параграф FILE-CONTROL (УПРАВЛЕНИЕ-ФАЙЛАМИ) | x | x |
Статья управления файлом | x | x |
фраза SELECT (ДЛЯ) | x | х |
фраза OPTIONAL (НЕОБЯЗАТЕЛЬНОГО) | - | x |
только входной, входной-выходной и дополняемый | - | x |
фраза ACCESS MODE IS SEQUENTIAL (ДОСТУП ПОСЛЕДОВАТЕЛЬНЫЙ) | х | x |
фраза ASSIGN (НАЗНАЧИТЬ) | х | х |
имя-реализации | х | x |
литерал | x | x |
фраза FILE STATUS (СОСТОЯНИЕ ФАЙЛА) | х | х |
фраза ORGANIZATION IS SEQUENTIAL (ОРГАНИЗАЦИЯ ПОСЛЕДОВАТЕЛЬНАЯ) | х | х |
фраза PADDING CHARACTER (ЛИТЕРА ЗАПОЛНИТЕЛЬ) | - | x |
фраза RECORD DELIMITER (ОГРАНИЧИТЕЛЬ ЗАПИСИ) | - | x |
фраза RESERVE (РЕЗЕРВИРОВАТЬ) | - | х |
Параграф I-O-CONTROL (УПРАВЛЕНИЕ-ВВОДОМ-ВЫВОДОМ) | x | x |
фраза MULTIPLE FILE TAPE (НА ОДНОЙ КАТУШКЕ) | - | + |
фраза RERUN (ПЕРЕПРОГОН) | + | + |
фраза SAME AREA (ОБЩАЯ ОБЛАСТЬ) | x | x |
фраза SAME RECORD AREA (ОБЩАЯ ОБЛАСТЬ ЗАПИСИ) | - | x |
РАЗДЕЛ ДАННЫХ | ||
Секция файлов | ||
Статья описания файла | x | x |
индикатор уровня FD (ОФ) | x | x |
фраза BLOCK CONTAINS (В БЛОКЕ) | x | х |
целое-1 RECORDS/CHARACTERS (целое-1 ЗАПИСЕЙ/ЛИТЕР) | x | x |
целое-1 ТО целое-2 RECORDS/CHARACTERS (целое-1 ДО целое-2 ЗАПИСЕЙ/ЛИТЕР) | - | x |
фраза CODE-SET (АЛФАВИТ) | x | x |
фраза DATA RECORDS (ЗАПИСИ ДАННЫХ) | + | + |
фраза LABEL RECORDS (МЕТКИ) | + | + |
фраза LINAGE (ВЕРСТКА) | - | х |
фраза FOOTING (КОНЦОВКА) | - | x |
фраза ТОР (ВЕРХНЕЕ ПОЛЕ) | - | x |
фраза BOTTOM (НИЖНЕЕ ПОЛЕ) | - | x |
фраза RECORD (В ЗАПИСИ) | x | x |
целое-1 CHARACTERS (целое-1 ЛИТЕР) | x | х |
фраза VARYING IN SIZE (ПЕРЕМЕННОЕ ЧИСЛО) | - | x |
FROM целое-2 ТО целое-3 CHARACTERS (ОТ целое-2 ДО целое-3 ЛИТЕР) | - | х |
фраза DEPENDING ON (В ЗАВИСИМОСТИ ОТ) | - | x |
целое-4 ТО целое-5 CHARACTERS (целое-4 ДО целое-5 ЛИТЕР) | х | x |
фраза VALUE (ЗНАЧЕНИЕ) | + | + |
имя-реализации литерал | + | + |
имя-реализации несколько литералов | + | + |
имя-реализации имя-данного | - | + |
имя-реализации несколько имен-данных | - | + |
Статья описания записи | x | х |
РАЗДЕЛ ПРОЦЕДУР | ||
Декларативные процедуры | x | x |
DECLARATIVES (ДЕКЛАРАТИВЫ) | х | x |
END DECLARATIVES (КОНЕЦ ДЕКЛАРАТИВ) | x | x |
Оператор CLOSE (ЗАКРЫТЬ) | x | х |
имя-файла | x | x |
несколько имен-файлов | x | x |
фраза REEL/UNIT (КАТУШКУ/ТОМ) | x | x |
фраза FOR REMOVAL (С УДАЛЕНИЕМ) | - | x |
фраза WITH NO REWIND/LOCK (БЕЗ ПЕРЕМОТКИ/С ЗАМКОМ) | - | x |
Оператор OPEN (ОТКРЫТЬ) | x | x |
имя-файла | x | х |
несколько имен-файлов | x | x |
фраза INPUT (ВХОДНОЙ) | x | х |
фраза WITH NO REWIND (БЕЗ ПЕРЕМОТКИ) | - | х |
фраза REVERSED (РЕВЕРСНО) | - | + |
фраза OUTPUT (ВЫХОДНОЙ) | x | x |
фраза WITH NO REWIND (БЕЗ ПЕРЕМОТКИ) | - | x |
фраза I-O (ВХОДНОЙ-ВЫХОДНОЙ) | x | x |
фраза EXTEND (ДОПОЛНЯЕМЫЙ) | - | x |
несколько INPUT (ВХОДНОЙ), OUTPUT (ВЫХОДНОЙ) и I-O (ВХОДНОЙ-ВЫХОДНОЙ) | x | x |
несколько EXTEND (ДОПОЛНЯЕМЫЙ) | - | x |
Оператор READ (ЧИТАТЬ) | x | x |
фраза NEXT (СЛЕДУЮЩУЮ) | - | x |
фраза INTO (В) | x | x |
фраза AT END (В КОНЦЕ) | x | x |
фраза NOT AT END (HE В КОНЦЕ) | x | x |
фраза END-READ (КОНЕЦ-ЧИТАТЬ) | x | x |
Оператор REWRITE (ОБНОВИТЬ) | x | x |
фраза FROM (ИЗ ПОЛЯ) | x | x |
Оператор USE (ИСПОЛЬЗОВАТЬ) | x | x |
фраза EXCEPTION/ERROR PROCEDURE (ПРОЦЕДУРЫ ОШИБКИ) | x | x |
ON имя-файла (ДЛЯ имя-файла) | x | x |
ON несколько-имен-файлов (ДЛЯ несколько имен-файлов) | - | x |
ON INPUT (ДЛЯ ВХОДНЫХ) | х | x |
ON OUTPUT (ДЛЯ ВЫХОДНЫХ) | x | х |
ON I-O (ДЛЯ ВХОДНЫХ-ВЫХОДНЫХ) | x | x |
ON EXTEND (ДЛЯ ДОПОЛНЯЕМЫХ) | - | x |
Оператор WRITE (ПИСАТЬ) | x | x |
фраза FROM (ИЗ ПОЛЯ) | x | x |
фраза BEFORE/AFTER ADVANCING (ДО/ПОСЛЕ ПРОДВИЖЕНИЯ) | x | x |
целое LINE/LINES (целое СТРОК) | x | x |
идентификатор LINE/LINES (идентификатор СТРОК) | x | x |
мнемоническое-имя | - | x |
PAGE (СТРАНИЦЫ) | х | x |
фраза AT END-OF-PAGE (В КОНЦЕ СТРАНИЦЫ) | - | x |
фраза NOT AT END-OF-PAGE (HE В КОНЦЕ СТРАНИЦЫ) | - | x |
фраза END-WRITE (КОНЕЦ-ПИСАТЬ) | - | х |
Элемент | Уровень 1 | Уровень 2 |
ПОНЯТИЯ ЯЗЫКА | ||
Слова, определенные пользователем | ||
имя-файла | x | x |
имя-записи | x | x |
Состояние ввода-вывода | x | x |
РАЗДЕЛ ОБОРУДОВАНИЯ | ||
Секция ввода-вывода | ||
Параграф FILE-CONTROL (УПРАВЛЕНИЕ-ФАЙЛАМИ) | x | x |
Статья управления файлом | x | x |
фраза SELECT (ДЛЯ) | x | x |
фраза OPTIONAL (НЕОБЯЗАТЕЛЬНОГО) | - | x |
только входной, входной-выходной и дополняемый файлы | - | x |
фраза ACCESS MODE (ДОСТУП) | x | x |
SEQUENTIAL (ПОСЛЕДОВАТЕЛЬНЫЙ) | x | x |
RANDOM (ПРОИЗВОЛЬНЫЙ) | x | x |
DYNAMIC (ДИНАМИЧЕСКИЙ) | x | x |
RELATIVE KEY (ОТНОСИТЕЛЬНЫЙ КЛЮЧ) | x | x |
фраза ASSIGN (НАЗНАЧИТЬ) | x | x |
имя-реализации | х | х |
литерал | x | x |
фраза FILE STATUS (СОСТОЯНИЕ ФАЙЛА) | х | х |
фраза ORGANIZATION RELATIVE (ОРГАНИЗАЦИЯ ОТНОСИТЕЛЬНАЯ) | х | х |
фраза RESERVE (РЕЗЕРВИРОВАТЬ) | - | x |
Параграф I-O-CONTROL (УПРАВЛЕНИЕ-ВВОДОМ-ВЫВОДОМ) | x | x |
фраза RERUN (ПЕРЕПРОГОН) | + | + |
фраза SAME AREA (ОБЩАЯ ОБЛАСТЬ) | x | x |
фраза SAME RECORD AREA (ОБЩАЯ ОБЛАСТЬ ЗАПИСИ) | - | x |
РАЗДЕЛ ДАННЫХ | ||
Секция файлов | ||
Статья описания файла | x | x |
индикатор уровня FD (ОФ) | x | x |
фраза BLOCK CONTAINS (В БЛОКЕ) | х | x |
целое-1 RECORD/CHARACTERS (целое-1 ЗАПИСЕЙ/ЛИТЕР) | x | x |
целое-1 ТО целое-2 RECORDS/CHARACTERS (целое-1 ДО целое-2 ЗАПИСЕЙ/ЛИТЕР) | - | x |
фраза DATA RECORDS (ЗАПИСИ ДАННЫХ) | + | + |
фраза LABEL RECORDS (МЕТКИ) | + | + |
фраза RECORD (В ЗАПИСИ) | x | x |
целое-1 CHARACTERS (целое-1 ЛИТЕР) | x | x |
фраза VARYING IN SIZE (ПЕРЕМЕННОЕ ЧИСЛО) | x | x |
FROM целое-2 ТО целое-3 CHARACTERS (ОТ целое-2 ДО целое-3 ЛИТЕР) | - | x |
фраза DEPENDING ON (В ЗАВИСИМОСТИ ОТ) | - | x |
целое-4 ТО целое-5 CHARACTERS (целое-4 ДО целое-5 ЛИТЕР) | x | x |
фраза VALUE (ЗНАЧЕНИЕ) | + | + |
имя-реализации литерал | + | + |
имя-реализации несколько литералов | + | + |
имя-реализиции имя-данного | - | + |
имя-реализации несколько имен-данных | - | + |
Статья описания записи | x | х |
РАЗДЕЛ ПРОЦЕДУР | ||
Декларативные процедуры | x | x |
DECLARATIVES (ДЕКЛАРАТИВЫ) | x | x |
END DECLARATIVES (КОНЕЦ ДЕКЛАРАТИВ) | х | x |
Оператор CLOSE (ЗАКРЫТЬ) | x | x |
имя-файла | х | x |
несколько имен-файлов | х | x |
фраза WITH LOCK (С ЗАМКОМ) | - | x |
Оператор DELETE (УДАЛИТЬ) | x | х |
фраза INVALID KEY (ПРИ ОШИБКЕ КЛЮЧА) | х | x |
фраза NOT INVALID KEY (БЕЗ ОШИБКИ КЛЮЧА) | х | х |
фраза END-DELETE (КОНЕЦ-УДАЛИТЬ) | х | х |
Оператор OPEN (ОТКРЫТЬ) | х | x |
имя-файла | х | x |
несколько имен-файлов | х | х |
фраза INPUT (ВХОДНОЙ) | х | х |
фраза OUTPUT (ВЫХОДНОЙ) | х | х |
фраза I-О (ВХОДНОЙ-ВЫХОДНОЙ) | х | x |
фраза EXTEND (ДОПОЛНЯЕМЫЙ) | - | x |
несколько INPUT (ВХОДНОЙ), OUTPUT (ВЫХОДНОЙ) и I-O (ВХОДНОЙ-ВЫХОДНОЙ) | х | x |
несколько EXTEND (ДОПОЛНЯЕМЫЙ) | - | x |
Оператор READ (ЧИТАТЬ) | х | x |
фраза NEXT (СЛЕДУЮЩУЮ) | - | x |
фраза INTO (В) | x | x |
фраза AT END (В КОНЦЕ) | x | x |
фраза NOT AT END (HE В КОНЦЕ) | x | x |
фраза INVALID KEY (ПРИ ОШИБКЕ КЛЮЧА) | x | x |
фраза NOT INVALID KEY (БЕЗ ОШИБКИ КЛЮЧА) | x | x |
фраза END-READ (КОНЕЦ-ЧИТАТЬ) | x | x |
Оператор REWRITE (ОБНОВИТЬ) | x | x |
фраза FROM (ИЗ ПОЛЯ) | x | x |
фраза INVALID KEY (ПРИ ОШИБКЕ КЛЮЧА) | x | x |
фраза NOT INVALID KEY (БЕЗ ОШИБКИ КЛЮЧА) | x | x |
фраза END-REWRITE (КОНЕЦ-ОБНОВИТЬ) | x | x |
Оператор START (ПОДВЕСТИ) | - | x |
фраза KEY (КЛЮЧ) | - | x |
EQUAL TO (РАВНО) | - | x |
= | - | x |
GREATER THAN (БОЛЬШЕ) | - | x |
> | - | x |
NOT LESS THAN (HE МЕНЬШЕ) | - | x |
NOT < (HE td> | - | x |
GREATER THAN OR EQUAL TO (БОЛЬШЕ ИЛИ РАВНО) | - | x |
> = | - | x |
фраза INVALID KEY (ПРИ ОШИБКЕ КЛЮЧА) | - | x |
фраза NOT INVALID KEY (БЕЗ ОШИБКИ КЛЮЧА) | - | x |
фраза END-START (КОНЕЦ-ПОДВЕСТИ) | - | x |
Оператор USE (ИСПОЛЬЗОВАТЬ) | x | x |
фраза EXCEPTION/ERROR PROCEDURE (ПРОЦЕДУРЫ ОШИБКИ) | х | х |
ON имя-файла (ДЛЯ имя-файла) | x | x |
ON несколько имен-файлов (ДЛЯ несколько имен-файлов) | - | х |
ON INPUT (ДЛЯ ВХОДНЫХ) | х | х |
ON OUTPUT (ДЛЯ ВЫХОДНЫХ) | x | х |
ON I-O (ДЛЯ ВХОДНЫХ-ВЫХОДНЫХ) | x | х |
ON EXTEND (ДЛЯ ДОПОЛНЯЕМЫХ) | - | х |
Оператор WRITE (ПИСАТЬ) | x | x |
фраза FROM (ИЗ ПОЛЯ) | x | x |
фраза INVALID KEY (ПРИ ОШИБКЕ КЛЮЧА) | x | х |
фраза NOT INVALID KEY (БЕЗ ОШИБКИ КЛЮЧА) | x | x |
фраза END-WRITE (КОНЕЦ-ПИСАТЬ) | x | x |
Элемент | Уровень 1 | Уровень 2 |
ПОНЯТИЯ ЯЗЫКА | ||
Слова, определенные пользователем | ||
имя-файла | x | x |
имя-записи | x | x |
Состояние ввода-вывода | х | х |
РАЗДЕЛ ОБОРУДОВАНИЯ | ||
Секция ввода-вывода | ||
Параграф FILE-CONTROL (УПРАВЛЕНИЕ-ФАЙЛАМИ) | x | x |
Статья управления файлом | x | x |
фраза SELECT (ДЛЯ) | x | x |
фраза OPTIONAL (НЕОБЯЗАТЕЛЬНОГО) | - | x |
только входные, входные-выходные и дополняемые файлы | - | x |
фраза ACCESS MODE (ДОСТУП) | x | x |
SEQUENTIAL (ПОСЛЕДОВАТЕЛЬНЫЙ) | x | x |
RANDOM (ПРОИЗВОЛЬНЫЙ) | x | x |
DYNAMIC (ДИНАМИЧЕСКИЙ) | - | x |
фраза ALTERNATE RECORD KEY (ДОПОЛНИТЕЛЬНЫЙ КЛЮЧ ЗАПИСИ) | - | x |
фраза WITH DUPLICATES (С ДУБЛИРОВАНИЕМ) | - | x |
фраза ASSIGN (НАЗНАЧИТЬ) | x | x |
имя-реализации | x | x |
литерал | x | x |
фраза FILE STATUS (СОСТОЯНИЕ ФАЙЛА) | x | x |
фраза ORGANIZATION IS INDEXED (ОРГАНИЗАЦИЯ ИНДЕКСНАЯ) | x | x |
фраза RECORD KEY (КЛЮЧ ЗАПИСИ) | x | x |
фраза RESERVE (РЕЗЕРВИРОВАТЬ) | - | x |
Параграф I-O-CONTROL (УПРАВЛЕНИЕ-ВВОДОМ-ВЫВОДОМ) | x | x |
фраза RERUN (ПЕРЕПРОГОН) | + | + |
фраза SAME AREA (ОБЩАЯ ОБЛАСТЬ) | x | x |
фраза SAME RECORD AREA (ОБЩАЯ ОБЛАСТЬ ЗАПИСИ) | - | x |
РАЗДЕЛ ДАННЫХ | ||
Секция файлов | ||
Статья описания файла | x | x |
индикатор уровня FD (ОФ) | x | x |
фраза BLOCK CONTAINS (В БЛОКЕ) | x | x |
целое-1 RECORDS/CHARACTERS (целое-1 ЗАПИСЕЙ/ЛИТЕР) | x | x |
целое-1 ТО целое-2 RECORDS/CHARACTERS (целое-1 ДО целое-2 ЗАПИСЕЙ/ЛИТЕР) | - | x |
фраза DATA RECORDS (ЗАПИСИ ДАННЫХ) | + | + |
фраза LABEL RECORDS (МЕТКИ) | + | + |
фраза RECORD (В ЗАПИСИ) | x | x |
целое-1 CHARACTERS (целое-1 ЛИТЕР) | x | x |
фраза VARYING IN SIZE (ПЕРЕМЕННОЕ ЧИСЛО) | - | x |
FROM целое-2 ТО целое-3 CHARACTERS (ОТ целое-2 ДО целое-3 ЛИТЕР) | - | x |
фраза DEPENDING ON (В ЗАВИСИМОСТИ ОТ) | - | x |
целое-4 ТО целое-5 CHARACTERS (целое-4 ДО целое-5 ЛИТЕР) | x | x |
фраза VALUE (ЗНАЧЕНИЕ) | + | + |
имя-реализации литерал | + | + |
имя-реализации несколько литералов | + | + |
имя-реализации имя-данного | - | + |
имя-реализации несколько имен-данных | - | + |
Статья описания записи | x | x |
РАЗДЕЛ ПРОЦЕДУР | ||
Декларативные процедуры | х | x |
DECLARATIVES (ДЕКЛАРАТИВЫ) | х | x |
END DECLARATIVES (КОНЕЦ ДЕКЛАРАТИВ) | х | x |
Оператор CLOSE (ЗАКРЫТЬ) | х | x |
имя-файла | х | x |
несколько имен-файлов | х | x |
фраза WITH LOCK (С ЗАМКОМ) | - | x |
Оператор DELETE (УДАЛИТЬ) | х | x |
фраза INVALID KEY (ПРИ ОШИБКЕ КЛЮЧА) | х | x |
фраза NOT INVALID KEY (БЕЗ ОШИБКИ КЛЮЧА) | х | х |
фраза END-DELETE (КОНЕЦ-УДАЛИТЬ) | х | x |
Оператор OPEN (ОТКРЫТЬ) | x | x |
имя-файла | x | x |
несколько имен-файлов | x | x |
фраза INPUT (ВХОДНОЙ) | x | x |
фраза OUTPUT (ВЫХОДНОЙ) | x | x |
фраза I-O (ВХОДНОЙ-ВЫХОДНОЙ) | x | x |
фраза EXTEND (ДОПОЛНЯЕМЫЙ) | x | x |
несколько INPUT (ВХОДНОЙ), OUTPUT (ВЫХОДНОЙ) и I-O (ВХОДНОЙ-ВЫХОДНОЙ) | x | x |
несколько EXTEND (ДОПОЛНЯЕМЫЙ) | - | x |
Оператор READ (ЧИТАТЬ) | x | x |
фраза NEXT (СЛЕДУЮЩУЮ) | - | x |
фраза INTO (В) | x | x |
фраза AT END (В КОНЦЕ) | x | x |
фраза NOT AT END (HE В КОНЦЕ) | x | x |
фраза KEY (КЛЮЧ) | - | x |
фраза INVALID KEY (ПРИ ОШИБКЕ КЛЮЧА) | х | x |
фраза NOT INVALID KEY (БЕЗ ОШИБКИ КЛЮЧА) | х | х |
фраза END-READ (КОНЕЦ-ЧИТАТЬ) | х | x |
Оператор REWRITE (ОБНОВИТЬ) | x | x |
фраза FROM (ИЗ ПОЛЯ) | х | x |
фраза INVALID KEY (ПРИ ОШИБКЕ КЛЮЧА) | х | x |
фраза NOT INVALID KEY (БЕЗ ОШИБКИ КЛЮЧА) | х | х |
фраза END-REWRITE (КОНЕЦ-ОБНОВИТЬ) | x | x |
Оператор START (ПОДВЕСТИ) | - | x |
фраза KEY (КЛЮЧ) | x | x |
EQUAL ТО (РАВНО) | - | x |
= | - | x |
GREATER THAN (БОЛЬШЕ) | - | x |
> | - | x |
NOT LESS THAN (HE МЕНЬШЕ) | - | x |
NOT < (HE td> | - | x |
GREATER THAN OR EQUAL TO (БОЛЬШЕ ИЛИ РАВНО) | - | x |
> = | - | x |
фраза INVALID KEY (ПРИ ОШИБКЕ КЛЮЧА) | - | x |
фраза NOT INVALID KEY (БЕЗ ОШИБКИ КЛЮЧА) | - | x |
фраза END-START (КОНЕЦ-ПОДВЕСТИ) | - | x |
Оператор USE (ИСПОЛЬЗОВАТЬ) | x | x |
фраза EXCEPTION/ERROR PROCEDURE (ПРОЦЕДУРЫ ОШИБКИ) | x | x |
ON имя-файла (ДЛЯ имя-файла) | x | x |
ON несколько имен-файлов (ДЛЯ несколько имен-файлов) | - | x |
ON INPUT (ДЛЯ ВХОДНЫХ) | х | х |
ON OUTPUT (ДЛЯ ВЫХОДНЫХ) | х | х |
ON I-O (ДЛЯ ВХОДНЫХ-ВЫХОДНЫХ) | х | x |
ON EXTEND (ДЛЯ ДОПОЛНЯЕМЫХ) | х | x |
Оператор WRITE (ПИСАТЬ) | х | x |
фраза FROM (ИЗ ПОЛЯ) | х | x |
фраза INVALID KEY (ПРИ ОШИБКЕ КЛЮЧА) | х | x |
фраза NOT INVALID KEY (БЕЗ ОШИБКИ КЛЮЧА) | х | x |
фраза END-WRITE (КОНЕЦ-ПИСАТЬ) | х | x |
Элемент | Уровень 1 | Уровень 2 |
ПОНЯТИЯ ЯЗЫКА | ||
Структура исходной программы | ||
Вложенные исходные программы | - | x |
РАЗДЕЛ ИДЕНТИФИКАЦИИ | ||
Параграф PROGRAM-ID (ПРОГРАММА) | ||
фраза COMMON (ОБЩАЯ) | - | x |
фраза INITIAL (НАЧАЛЬНАЯ) | - | x |
РАЗДЕЛ ДАННЫХ | ||
Секция файлов | ||
Статья описания файла (индикатор уровня FD (ОФ)) | ||
фраза EXTERNAL (ВНЕШНЕЕ) | - | x |
фраза GLOBAL (ГЛОБАЛЬНОЕ) | - | x |
Статья описания данного (номер уровня 01) | ||
фраза GLOBAL (ГЛОБАЛЬНОЕ) | - | x |
Секция рабочей памяти | ||
Статья описания данного (номер уровня 01) | ||
фраза EXTERNAL (ВНЕШНЕЕ) | - | x |
фраза GLOBAL (ГЛОБАЛЬНОЕ) | - | x |
Секция связи | x | x |
Статья описания записи | x | x |
Статья описания данного с уровнем 77 | x | x |
Секция отчетов | ||
Статья описания отчета (индикатор уровня RD (00)) | ||
фраза GLOBAL (ГЛОБАЛЬНОЕ) | - | x |
РАЗДЕЛ ПРОЦЕДУР | ||
Заголовок раздела процедур | ||
фраза USING (ИСПОЛЬЗУЯ) | x | x |
разрешается по крайней мере 5 операндов | x | - |
нет ограничения на число операндов | - | x |
Оператор CALL (ВЫЗВАТЬ) | x | x |
литерал | х | х |
идентификатор | - | х |
фраза USING (ИСПОЛЬЗУЯ) | x | x |
идентификатор | x | x |
разрешается по крайней мере 5 операндов | х | - |
нет ограничения на число операндов | - | x |
фраза BY REFERENCE (ССЫЛКУ) | - | х |
фраза BY CONTENT (ЗНАЧЕНИЕ) | - | x |
фраза ON OVERFLOW (ПРИ ПЕРЕПОЛНЕНИИ) | - | x |
фраза ON EXCEPTION (ПРИ ОШИБКЕ) | - | x |
фраза NOT ON EXCEPTION (БЕЗ ОШИБКИ) | - | x |
фраза END-CALL (КОНЕЦ-ВЫЗВАТЬ) (формат 1) | x | x |
фраза END-CALL (КОНЕЦ-ВЫЗВАТЬ) (формат 2) | - | x |
Оператор CANCEL (ОСВОБОДИТЬ) | - | x |
литерал | - | x |
идентификатор | - | x |
Оператор EXIT PROGRAM (ВЫЙТИ ИЗ ПРОГРАММЫ) | х | х |
Оператор USE (ИСПОЛЬЗОВАТЬ) | ||
фраза EXCEPTION/ERROR PROCEDURE (ПРОЦЕДУРЫ ОШИБКИ) | ||
фраза GLOBAL (ГЛОБАЛЬНО) | - | x |
Оператор USE BEFORE REPORTING (ИСПОЛЬЗОВАТЬ ДО ВЫДАЧИ) | ||
фраза GLOBAL (ГЛОБАЛЬНО) | - | x |
Элемент | Уровень 1 |
ПОНЯТИЯ ЯЗЫКА | |
Слова, определенные пользователем | |
имя-файла | x |
имя-записи | x |
РАЗДЕЛ ОБОРУДОВАНИЯ | |
Секция ввода-вывода | |
Параграф FILE-CONTROL (УПРАВЛЕНИЕ-ФАЙЛАМИ) | x |
Статья управления файлом | x |
фраза SELECT (ДЛЯ) | x |
фраза ASSIGN (НАЗНАЧИТЬ) | x |
имя-реализации | x |
литерал | x |
Параграф I-O-CONTROL (УПРАВЛЕНИЕ ВВОДОМ-ВЫВОДОМ) | x |
фраза SAME SORT/SORT-MERGE AREA (ОБЩАЯ ОБЛАСТЬ СОРТИРОВКИ/СОРТИРОВКИ-СЛИЯНИЯ) | x |
фраза SAME RECORD AREA (ОБЩАЯ ОБЛАСТЬ ЗАПИСИ) | x |
РАЗДЕЛ ДАННЫХ | |
Секция файлов | |
Статья описания сортируемого-сливаемого файла | x |
индикатор уровня SD (00) | x |
фраза DATA RECORDS (ЗАПИСИ ДАННЫХ) | + |
фраза RECORD (В ЗАПИСИ) | x |
целое-1 CHARACTERS (целое-1 ЛИТЕР) | x |
фраза VARYING IN SIZE (ПЕРЕМЕННОЕ ЧИСЛО) | x |
FROM целое-2 ТО целое-3 CHARACTERS (ОТ целое-2 ДО целое-3 ЛИТЕР) | x |
фраза DEPENDING ON (В ЗАВИСИМОСТИ ОТ) | x |
целое-4 ТО целое-5 CHARACTERS (целое-4 ДО целое-5 ЛИТЕР) | x |
Статья описания записи | x |
РАЗДЕЛ ПРОЦЕДУР | |
Оператор MERGE (СЛИТЬ) | x |
фраза ASCENDING/DESCENDING KEY (ПО ВОЗРАСТАНИЮ/УБЫВАНИЮ КЛЮЧА) | x |
фраза COLLATING SEQUENCE (АЛФАВИТ) | x |
фраза USING (ИСПОЛЬЗУЯ) | x |
фраза OUTPUT PROCEDURE (ПРОЦЕДУРА ВЫВОДА) | x |
имя-процедуры | x |
фраза GIVING (ПОЛУЧАЯ) | x |
Оператор RELEASE (ПЕРЕДАТЬ) | x |
фраза FROM (ИЗ ПОЛЯ) | x |
Оператор RETURN (ВЕРНУТЬ) | x |
фраза INTO (В) | x |
фраза AT END (В КОНЦЕ) | x |
фраза NOT AT END (HE В КОНЦЕ) | x |
фраза END-RETURN (КОНЕЦ-ВЕРНУТЬ) | x |
Оператор SORT (СОРТИРОВАТЬ) | x |
фраза ASCENDING/DESCENDING KEY (ПО ВОЗРАСТАНИЮ/УБЫВАНИЮ КЛЮЧА) | x |
фраза WITH DUPLICATES (С ДУБЛИРОВАНИЕМ) | x |
фраза COLLATING SEQUENCE (АЛФАВИТ) | х |
фраза INPUT PROCEDURE (ПРОЦЕДУРА ВВОДА) | x |
имя-процедуры | х |
фраза USING (ИСПОЛЬЗУЯ) | x |
фраза OUTPUT PROCEDURE (ПРОЦЕДУРА ВЫВОДА) | x |
имя-процедуры | x |
фраза GIVING (ПОЛУЧАЯ) | x |
Элемент | Уровень 1 | Уровень 2 |
ПОНЯТИЯ ЯЗЫКА | ||
Набор литер | ||
Литеры, используемые в пунктуации = | - | x |
Слова, определенные пользователем | ||
имя-библиотеки | - | x |
имя-текста | x | x |
ВСЕ РАЗДЕЛЫ | ||
Оператор COPY (КОПИРОВАТЬ) | x | x |
фраза OF/IN имя-библиотеки (ИЗ имя-библиотеки) | - | х |
фраза REPLACING (ЗАМЕНЯЯ) | - | x |
псевдотекст | - | x |
идентификатор | - | x |
литерал | - | x |
слово | - | х |
Оператор REPLACE (ЗАМЕНИТЬ) | - | x |
псевдотекст BY псевдотекст (псевдотекст НА псевдотекст) | - | x |
OFF (ОТКЛЮЧИТЬ) | - | x |
Элемент | Уровень 1 |
ПОНЯТИЯ ЯЗЫКА | |
Слова, определенные пользователем | |
имя-файла | x |
имя-отчета | x |
Зарезервированные слова | |
Специальные регистры | |
LINE-COUNTER (СЧЕТЧИК-СТРОК) | x |
PAGE-COUNTER (СЧЕТЧИК-СТРАНИЦ) | x |
РАЗДЕЛ ОБОРУДОВАНИЯ | |
Секция ввода-вывода | |
Параграф FILE-CONTROL (УПРАВЛЕНИЕ-ФАЙЛАМИ) | x |
Статья управления файлом | x |
фраза SELECT (ДЛЯ) | x |
фраза OPTIONAL (НЕОБЯЗАТЕЛЬНОГО) | x |
только дополняемые файлы | x |
фраза ACCESS MODE IS SEQUENTIAL (ДОСТУП ПОСЛЕДОВАТЕЛЬНЫЙ) | x |
фраза ASSIGN (НАЗНАЧИТЬ) | x |
имя-реализации | x |
литерал | x |
фраза FILE STATUS (СОСТОЯНИЕ ФАЙЛА) | x |
фраза ORGANIZATION IS SEQUENTIAL (ОРГАНИЗАЦИЯ ПОСЛЕДОВАТЕЛЬНАЯ) | x |
фраза PADDING CHARACTER (ЛИТЕРА ЗАПОЛНИТЕЛЬ) | x |
фраза RECORD DELIMITER (ОГРАНИЧИТЕЛЬ ЗАПИСИ) | x |
фраза RESERVE (РЕЗЕРВИРОВАТЬ) | x |
Параграф I-O-CONTROL (УПРАВЛЕНИЕ-ВВОДОМ-ВЫВОДОМ) | x |
фраза MULTIPLE FILE TAPE (НА ОДНОЙ КАТУШКЕ) | + |
фраза SAME AREA (ОБЩАЯ ОБЛАСТЬ) | x |
РАЗДЕЛ ДАННЫХ | |
Секция файлов | |
Статья описания файла | x |
индикатор уровня FD (ОФ) | x |
фраза BLOCK CONTAINS (В БЛОКЕ) | x |
целое RECORDS/CHARECTERS (целое ЗАПИСЕЙ/ЛИТЕР) | x |
целое-1 ТО целое-2 RECORDS/CHARACTERS (целое-1 ДО целое-2 ЗАПИСЕЙ/ЛИТЕР) | x |
фраза CODE-SET (АЛФАВИТ) | x |
фраза LABEL RECORDS (МЕТКИ) | + |
фраза RECORD (В ЗАПИСИ) | x |
целое-1 CHARACTERS (целое-1 ЛИТЕР) | x |
целое-4 ТО целое-5 CHARACTERS (целое-4 ДО целое-5 ЛИТЕР) | х |
фраза REPORT (ОТЧЕТ) | x |
фраза VALUE OF (ЗНАЧЕНИЕ) | + |
имя-реализации литерал | + |
имя-реализации несколько литералов | + |
имя-реализации имя-данного | + |
имя-реализации несколько имен-данных | + |
Секция отчетов | |
Статья описания отчета | x |
индикатор уровня RD (00) | x |
фраза CODE (С КОДОМ) | x |
фраза CONTROL (УПРАВЛЕНИЕ) | x |
фраза PAGE (РАЗМЕР СТРАНИЦЫ) | x |
Статья описания группы отчета | x |
фраза BLANK WHEN ZERO (ПРОБЕЛ КОГДА НУЛЬ) | x |
фраза COLUMN NUMBER (НОМЕР СТОЛБЦА) | x |
фраза имя-данного | x |
фраза GROUP INDICATE (ОПРЕДЕЛЯЕТ ГРУППУ) | x |
фраза JUSTIFIED (СДВИНУТО) | x |
фраза номер-уровня | x |
от 01 до 49; представление одной или двумя цифрами | x |
фраза LINE NUMBER (НОМЕР СТРОКИ) | x |
фраза NEXT GROUP (СЛЕДУЮЩАЯ ГРУППА) | x |
фраза PICTURE (ШАБЛОН) | x |
фраза SIGN (ЗНАК) | x |
фраза SOURCE (ИСТОЧНИК) | x |
фраза SUM (СУММА) | x |
фраза TYPE (ТИП) | x |
фраза USAGE (об использовании) | x |
DISPLAY (ДЛЯ ВЫДАЧИ) | x |
фраза VALUE (ЗНАЧЕНИЕ) | x |
литерал | x |
РАЗДЕЛ ПРОЦЕДУР | |
Декларативные процедуры | x |
DECLARATIVES (ДЕКЛАРАТИВЫ) | х |
END DECLARATIVES (КОНЕЦ ДЕКЛАРАТИВ) | x |
Оператор CLOSE (ЗАКРЫТЬ) | x |
фраза REEL/UNIT (КАТУШКУ/ТОМ) | x |
фраза FOR REMOVAL (С УДАЛЕНИЕМ) | x |
фраза WITH NO REWIND (БЕЗ ПЕРЕМОТКИ) | x |
Оператор GENERATE (ГЕНЕРИРОВАТЬ) | x |
имя-данного | x |
имя-отчета | x |
Оператор INITIATE (НАЧАТЬ) | x |
Оператор OPEN (ОТКРЫТЬ) | x |
фраза OUTPUT (ВЫХОДНОЙ) | x |
фраза WITH NO REWIND (БЕЗ ПЕРЕМОТКИ) | x |
фраза EXTEND (ДОПОЛНЯЕМЫЙ) | x |
Оператор SUPPRESS (ПОДАВИТЬ) | x |
Оператор TERMINATE (ЗАКОНЧИТЬ) | x |
Оператор USE (ИСПОЛЬЗОВАТЬ) | x |
фраза EXCEPTION/ERROR PROCEDURE (ПРОЦЕДУРЫ ОШИБКИ) | x |
ON имя-файла (ДЛЯ имя-файла) | x |
ON несколько имен-файлов (ДЛЯ несколько имен-файлов) | x |
ON OUTPUT (ДЛЯ ВЫХОДНЫХ) | x |
ON EXTEND (ДЛЯ ДОПОЛНЯЕМЫХ) | x |
фраза BEFORE REPORTING (ДО ВЫДАЧИ) | x |
Элемент | Уровень 1 | Уровень 2 |
ПОНЯТИЯ ЯЗЫКА | ||
Слова, определенные пользователем имя-коммуникации | x | x |
РАЗДЕЛ ДАННЫХ | ||
Секция коммуникации | ||
Статья описания коммуникации | х | x |
индикатор уровня CD (ОК) | x | x |
фраза FOR INPUT (ДЛЯ ВВОДА) | x | x |
фраза INITIAL (НАЧАЛЬНОГО) | - | x |
фраза END KEY (КЛЮЧ КОНЦА) | x | x |
фраза MESSAGE COUNT (ЧИСЛО СООБЩЕНИЙ) | x | x |
фраза MESSAGE DATA (ДАТА СООБЩЕНИЯ) | x | x |
фраза MESSAGE TIME (ВРЕМЯ СООБЩЕНИЯ) | x | x |
фраза SYMBOLIC QUEUE (СИМВОЛИЧЕСКАЯ ОЧЕРЕДЬ) | x | x |
фраза SYMBOLIC SOURCE (СИМВОЛИЧЕСКИЙ ИСТОЧНИК) | x | x |
фраза SYMBOLIC SUB-QUEUE-1 (СИМВОЛИЧЕСКАЯ ПОДОЧЕРЕДЬ-1) | - | x |
фраза SYMBOLIC SUB-QUEUE-2 (СИМВОЛИЧЕСКАЯ ПОДОЧЕРЕДЬ-2) | - | х |
фраза SYMBOLIC-SUB-QUEUE-3 (СИМВОЛИЧЕСКАЯ ПОДОЧЕРЕДЬ-3) | - | x |
фраза STATUS KEY (КЛЮЧ СОСТОЯНИЯ) | x | x |
фраза TEXT LENGTH (ДЛИНА ТЕКСТА) | x | x |
несколько имен-данных | - | x |
фраза FOR OUTPUT (ДЛЯ ВЫВОДА) | x | x |
фраза DESTINATION COUNT (ЧИСЛО АДРЕСАТОВ) | x | x |
должен быть один | x | - |
может быть один или несколько | - | x |
фраза DESTINATION TABLE (ТАБЛИЦА АДРЕСАТОВ) | - | x |
фраза INDEXED BY (ИНДЕКСИРУЕТСЯ) | - | х |
фраза ERROR KEY (КЛЮЧ ОШИБКИ) | x | x |
фраза SYMBOLIC DESTINATION (СИМВОЛИЧЕСКИЙ АДРЕСАТ) | x | x |
фраза STATUS KEY (КЛЮЧ СОСТОЯНИЯ) | х | x |
фраза TEXT LENGTH (ДЛИНА ТЕКСТА) | х | x |
фраза I-O (ДЛЯ ВВОДА-ВЫВОДА) | х | x |
фраза INITIAL (НАЧАЛЬНОГО) | - | x |
фраза END KEY (КЛЮЧ КОНЦА) | х | x |
фраза MESSAGE DATE (ДАТА СООБЩЕНИЯ) | х | x |
фраза MESSAGE TIME (ВРЕМЯ СООБЩЕНИЯ) | х | x |
фраза STATUS KEY (КЛЮЧ СОСТОЯНИЯ) | x | х |
фраза SYMBOLIC TERMINAL (СИМВОЛИЧЕСКИЙ ТЕРМИНАЛ) | x | x |
фраза TEXT LENGTH (ДЛИНА ТЕКСТА) | x | x |
несколько имен-данных | - | х |
Статья описания записи | x | x |
РАЗДЕЛ ПРОЦЕДУР | ||
Оператор ACCEPT MESSAGE COUNT (ПРИНЯТЬ ЧИСЛО СООБЩЕНИЙ) | x | x |
Оператор DISABLE (ЗАПРЕТИТЬ) | - | x |
фраза INPUT (ВВОД) | - | x |
фраза TERMINAL (С ТЕРМИНАЛА) | - | x |
фраза I-O TERMINAL (ВВОД-ВЫВОД С ТЕРМИНАЛА) | - | x |
фраза OUTPUT (ВЫВОД) | - | x |
фраза WITH KEY (КЛЮЧ) | - | + |
Оператор ENABLE (РАЗРЕШИТЬ) | - | x |
фраза INPUT (ВВОД) | - | x |
фраза TERMINAL (С ТЕРМИНАЛА) | - | x |
фраза I-O TERMINAL (ВВОД-ВЫВОД С ТЕРМИНАЛА) | - | x |
фраза OUTPUT (ВЫВОД) | - | x |
фраза WITH KEY (КЛЮЧ) | - | x |
Оператор PURGE (ОЧИСТИТЬ) | - | x |
Оператор RECEIVE (ПОЛУЧИТЬ) | x | x |
фраза MESSAGE (СООБЩЕНИЕ) | x | x |
фраза SEGMENT (СЕГМЕНТ) | - | x |
фраза INTO идентификатор (В идентификатор) | x | x |
фраза NO DATA (НЕТ ДАННЫХ) | x | x |
фраза WITH DATA (ЕСТЬ ДАННЫЕ) | x | x |
фраза END-RECEIVE (КОНЕЦ-ПОЛУЧИТЬ) | ||
Оператор SEND (ПОСЛАТЬ) | x | x |
FROM идентификатор (ИЗ ПОЛЯ идентификатор) (часть сообщения) | - | x |
FROM идентификатор (ИЗ ПОЛЯ идентификатор) (полное сообщение) | x | x |
фраза WITH идентификатор (С идентификатор) | - | x |
фраза WITH ESI (С ИКС) | - | x |
фраза WITH EMI (С ИКЩ) | x | x |
фраза WITH EGI (С ИКГ) | x | x |
фраза BEFORE/AFTER ADVANCING (ДО/ПОСЛЕ ПРОДВИЖЕНИЯ) | х | x |
целое-1 LINE/LINES (целое-1 СТРОК) | х | х |
идентификатор LINE/LINES (идентификатор СТРОК) | x | x |
мнемоническое-имя | - | х |
PAGE (СТРАНИЦЫ) | x | x |
REPLACING LINE (ЗАМЕНЯЯ СТРОКУ) | - | x |
Элемент | Уровень 1 | Уровень 2 |
ПОНЯТИЯ ЯЗЫКА | ||
Зарезервированные слова | ||
Специальный регистр DEBUG-ITEM (ДАННЫЕ-ОТЛАДКИ) | + | + |
РАЗДЕЛ ОБОРУДОВАНИЯ | ||
Секция конфигурации | ||
Параграф SOURCE-COMPUTER (ИСХОДНАЯ МАШИНА) | ||
фраза WITH DEBUGGING MODE (В РЕЖИМЕ ОТЛАДКИ) | + | + |
РАЗДЕЛ ПРОЦЕДУР | ||
Декларативные процедуры | ||
DECLARATIVES (ДЕКЛАРАТИВЫ) | + | + |
END DECLARATIVES (КОНЕЦ ДЕКЛАРАТИВ) | + | + |
Оператор USE FOR DEBUGGING (ИСПОЛЬЗОВАТЬ ДЛЯ ОТЛАДКИ) | + | + |
имя-процедуры | + | + |
ALL PROCEDURES (ПРИ ВСЕХ ПРОЦЕДУРАХ) | + | + |
ALL REFERENCES идентификатор-1 (ПРИ ВСЕХ ССЫЛКАХ идентификатор-1) | - | + |
имя-коммуникации | - | + |
имя-файла | - | + |
Элемент | Уровень 1 | Уровень 2 |
ПОНЯТИЯ ЯЗЫКА | ||
Слова, определенные пользователем | ||
Номер сегмента | + | + |
РАЗДЕЛ ОБОРУДОВАНИЯ | ||
Параграф OBJECT-COMPUTER (РАБОЧАЯ-МАШИНА) | ||
фраза SEGMENT-LIMIT (ГРАНИЦА СЕГМЕНТОВ) | - | + |
РАЗДЕЛ ПРОЦЕДУР | ||
Номера-сегментов от 0 до 49 для постоянных сегментов | + | + |
Номера-сегментов от 50 до 99 для независимых сегментов | + | + |
Все секции, имеющие одинаковый номер сегмента, должны быть смежными в исходной программе | + | - |
Секции, имеющие одинаковый номер сегмента, могут быть несмежными в исходной программе | - | + |
Ядро | ЯДР |
Последовательный ввод-вывод | ПОД |
Относительный ввод-вывод | ОТД |
Индексный ввод-вывод | ИПД |
Межпрограммные связи | МПС |
Сортировка-слияние | СРТ |
Обработка исходных текстов | ОИТ |
Генератор отчетов | ГОТ |
Коммуникации | КОМ |
Отладка | ОТЛ |
Сегментация | СЕГ |
Элемент | Модуль |
3.2. Список элементов понятий языка | |
ПОНЯТИЯ ЯЗЫКА | |
Набор литер | |
Литеры, используемые для слов в английской нотации 0-9, А-Z, - (дефис) в русской нотации А-Я, D, F, G, I, J, L, N, Q, R, S, U, V, W, Y, Z, 0-9, - (дефис) | 1 ЯДР |
Литеры, используемые для пунктуации " ( ) . , ; пробел | 1 ЯДР |
Литеры, используемые для пунктуации : (двоеточие) | 2 ЯДР |
Литеры, используемые для пунктуации = | 1 ОИТ |
Литеры, используемые в арифметических операциях + - * / ** | 2 ЯДР |
Литеры, используемые в отношениях = > < > = < = | 1 ЯДР |
Литеры, используемые в редактировании В + - . , Z (П) * 0 CR (КР) DB (ДБ) / | 1 ЯДР |
Литеры, используемые при индексировании + - | 1 ЯДР |
Разрешена замена одной литерой | 1 ЯДР |
Разрешена замена двумя литерами | 1 ЯДР + |
Разделители | |
" ( ) . , ; пробел | 1 ЯДР |
: (двоеточие) | 2 ЯДР |
Строка-литер | |
Слова Кобола | |
Максимум 30 литер | 1 ЯДР |
Слова, определенные пользователем | |
имя-алфавита | 1 ЯДР |
имя-библиотеки | 2 ОИТ |
имя данного | 1 ЯДР |
имя записи | 1 ПОД |
1ОТД | |
1 ИПД | |
1 СРТ | |
имя индекса | 1 ЯДР |
имя класса | 1 ЯДР |
имя коммуникации | 1 КОМ |
имя отчета | 1 ГОТ |
имя параграфа | 1 ЯДР |
имя программного модуля | 1 ЯДР + |
имя программы | 1 ЯДР |
имя секции | 1 ЯДР |
имя текста | 1 ОИТ |
имя условия | 2 ЯДР |
имя файла | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 СРТ | |
1 ГОТ | |
мнемоническое имя | 1 ЯДР |
номер сегмента | 1 СЕГ + |
номер уровня | 1 ЯДР |
символическая литера | 2 ЯДР |
Системные имена | |
имя машины | 1 ЯДР |
имя реализации | 1 ЯДР |
имя языка | 1 ЯДР + |
Зарезервированные слова | |
Обязательные слова | 1 ЯДР |
Ключевые слова | 1 ЯДР |
Слова специальные литеры | |
знаки арифметических операций + - * / ** | 2 ЯДР |
знаки арифметических операций при индексировании + - | 1 ЯДР |
литеры отношения = > < > = < = | 1 ЯДР |
Необязательные слова | 1 ЯДР |
Слова специального назначения | |
Стандартные константы: ZERO (НУЛЬ), ZEROS, ZEROES (НУЛИ), SPACE (ПРОБЕЛ), SPACES (ПРОБЕЛЫ), HIGH-VALUE (НАИБОЛЬШЕЕ-ЗНАЧЕНИЕ), HIGH-VALUES (НАИБОЛЬШИЕ-ЗНАЧЕНИЯ), LOW-VALUE (НАИМЕНЬШЕЕ-ЗНАЧЕНИЕ), LOW-VALUES (НАИМЕНЬШИЕ-ЗНАЧЕНИЯ), QUOTE (КАВЫЧКА), QUOTES (КАВЫЧКИ) | 1 ЯДР |
Стандартные константы: символическая-литера, ALL литерал (ВСЕ литерал), ALL стандартная-константа (ВСЕ стандартная-константа), ALL символическая-литера (ВСЕ символическая-литера) | 2 ЯДР |
Специальные регистры | |
LINAGE-COUNTER (СЧЕТЧИК-ВЕРСТКИ) | 2 ПОД |
LINE-COUNTER (СЧЕТЧИК-СТРОК) | 1 ГОТ |
PAGE-COUNTER (СЧЕТЧИК-СТРАНИЦ) | 1 ГОТ |
DEBUG-ITEM (ДАННЫЕ-ОТЛАДКИ) | 1 ОТЛ + |
Литералы | |
Числовые литералы: от 1 до 18 цифр | 1 ЯДР |
Нечисловые литералы: от 1 до 160 литер | 1 ЯДР |
строка-литер (ШАБЛОН строка-литер) | 1 ЯДР |
Статья-комментарий | 1 ЯДР + |
Однозначность ссылки | |
Уточнение | |
уточнение недопустимо, имена должны быть однозначны при ссылке | 1 ЯДР |
50 уточнителей | 2 ЯДР |
Индексирование | |
3 уровня индексов | 1 ЯДР |
7 уровней индексов | 2 ЯДР |
индексирование литералом | 1 ЯДР |
индексирование именем-данного | 1 ЯДР |
индексирование именем-индекса | 1 ЯДР |
относительное индексирование | 1 ЯДР |
Модификация ссылки | 2 ЯДР |
Формат представления | |
Порядковый номер | 1 ЯДР |
Продолжение строк | |
продолжение нечисловых литералов | 1 ЯДР |
продолжение слов Кобола, числовых литералов, строк-литер шаблона | 2 ЯДР |
Строки пробелов | 1 ЯДР |
Строки комментария | |
строки комментария со звездочкой ( * ) | 1 ЯДР |
строки комментария с дробной чертой ( / ) | 1 ЯДР |
Отладочная строка с литерой D (Т) в поле индикатора | 1 ЯДР |
Структура исходной программы | |
Раздел идентификации обязателен | 1 ЯДР |
Раздел оборудования необязателен | 1 ЯДР |
Раздел данных необязателен | 1 ЯДР |
Раздел процедур необязателен | 1 ЯДР |
Заголовок конца программы | 2 ЯДР |
Вложенные исходные программы | 2 МПС |
3.3. Список элементов раздела идентификации | |
РАЗДЕЛ ИДЕНТИФИКАЦИИ | |
Параграф PROGRAM-1D (ПРОГРАММА) | 1 ЯДР |
имя-параграфа | 1 ЯДР |
фраза COMMON (ОБЩАЯ) | 2 МПС |
фраза INITIAL (НАЧАЛЬНАЯ) | 2 МПС |
Параграф AUTHOR (АВТОР) | 1 ЯДР + |
Параграф INSTALLATION (ПРЕДПРИЯТИЕ) | 1 ЯДР + |
Параграф DATE-WRITTEN (ДАТА-НАПИСАНИЯ) | 1 ЯДР + |
Параграф DATE-COMPILED (ДАТА-ТРАНСЛЯЦИИ) | 2 ЯДР + |
Параграф SECURITY (ПОЛНОМОЧИЯ) | 1 ЯДР + |
Обработка исходных текстов в разделе идентификации | |
Оператор COPY (КОПИРОВАТЬ) | 1 ОИТ |
OF/IN имя-библиотеки (ИЗ имя-библиотеки) | 2 ОИТ |
фраза REPLACING (ЗАМЕНЯЯ) | 2 ОИТ |
псевдотекст | 2 ОИТ |
идентификатор | 2 ОИТ |
литерал | 2 ОИТ |
слово | 2 ОИТ |
Оператор REPLACE (ЗАМЕНИТЬ) | 2 ОИТ |
псевдотекст BY псевдотекст (псевдотекст НА псевдотекст) | 2 ОИТ |
OFF (ОТКЛЮЧИТЬ) | 2 ОИТ |
3.4. Список элементов раздела оборудования | |
РАЗДЕЛ ОБОРУДОВАЦИЯ | |
Секция конфигурации | 1 ЯДР |
Параграф SOURCE-COMPUTER (ИСХОДНАЯ-МАШИНА) | 1 ЯДР |
имя-машины | 1 ЯДР |
фраза WITH DEBUGGING MODE (В РЕЖИМЕ ОТЛАДКИ) | 1 ЯДР |
1 ОТЛ + | |
Параграф OBJECT-COMPUTER (РАБОЧАЯ-МАШИНА) | 1 ЯДР |
имя-машины | 1 ЯДР |
фраза MEMORY SIZE (РАЗМЕР ПАМЯТИ) | 1 ЯДР + |
фраза PROGRAM COLLATING SEQUENCE (ПРОГРАММНЫЙ-АЛФАВИТ) | 1 ЯДР |
фраза SEGMENT-LIMIT (ГРАНИЦА СЕГМЕНТОВ) | 1 СЕГ + |
Параграф SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА) | 1 ЯДР |
фраза ALPHABET (АЛФАВИТ) | 1 ЯДР |
вариант STANDARD-1 (СТАНДАРТ-А) | 1 ЯДР |
вариант STANDARD-2 (СТАНДАРТ-М) | 1 ЯДР |
вариант NATIVE (ВНУТРЕННИЙ) | 1 ЯДР |
вариант имя-реализации | 1 ЯДР |
вариант литерал | 2 ЯДР |
фраза CLASS (КЛАСС) | 1 ЯДР |
фраза CURRENCY SIGN (ВАЛЮТНЫЙ ЗНАК) | 1 ЯДР |
фраза DECIMAL-POINT (ДЕСЯТИЧНАЯ ТОЧКА) | 1 ЯДР |
фраза имя-реализации | 1 ЯДР |
вариант IS мнемоническое имя | 1 ЯДР |
вариант ON STATUS IS имя-условия (ВКЛЮЧЕНО имя-условия) | 1 ЯДР |
вариант OFF STATUS IS имя-условия (ВЫКЛЮЧЕНО имя-условия) | 1 ЯДР |
фраза SYMBOLIC CHARACTERS (СИМВОЛИЧЕСКАЯ ЛИТЕРА) | 2 ЯДР |
Секция ввода-вывода | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 СРТ | |
1 ГОТ | |
Параграф FILE-CONTROL (УПРАВЛЕНИЕ-ФАЙЛАМИ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 СРТ | |
1 ГОТ | |
Статья управления файлом | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 СРТ | |
1 ГОТ | |
фраза SELECT (ДЛЯ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 СРТ | |
1 ГОТ | |
вариант OPTIONAL (НЕОБЯЗАТЕЛЬНО) | 2 ПОД |
2 ОТД | |
2 ИПД | |
1 ГОТ | |
только входные, входные-выходные и дополняемые | 2 ПОД |
2 ОТД | |
2 ИПД | |
только дополняемые фраза ACCESS MODE (ДОСТУП) | 1 ГОТ |
SEQUENTIAL (ПОСЛЕДОВАТЕЛЬНЫЙ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
RANDOM (ПРОИЗВОЛЬНЫЙ) | 1 ОТД |
1 ИПД | |
DYNAMIC (ДИНАМИЧЕСКИЙ) | 2 ОТД |
2 ИПД | |
фраза RELATIVE KEY (ОТНОСИТЕЛЬНЫЙ КЛЮЧ) | 1 ОТД |
фраза ALTERNATE RECORD KEY (ДОПОЛНИТЕЛЬНЫЙ КЛЮЧ ЗАПИСИ) | 2 ИПД |
фраза WITH DUPLICATES (С ДУБЛИРОВАНИЕМ) | 2 ИПД |
фраза ASSIGN (НАЗНАЧИТЬ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 СРТ | |
1 ГОТ | |
имя-реализации | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 СРТ | |
литерал | 1 ГОТ |
1 ПОД | |
1 ОТД | |
1 ИПД | |
1 СРТ | |
1 ГОТ | |
фраза FILE STATUS (СОСТОЯНИЕ ФАЙЛА) | 1 ПОД |
1 ОТД | |
1 ИПД | |
фраза ORGANIZATION (ОРГАНИЗАЦИЯ) | 1 ГОТ |
SEQUENTIAL (ПОСЛЕДОВАТЕЛЬНАЯ) | 1 ПОД |
1 ГОТ | |
RELATIVE (ОТНОСИТЕЛЬНАЯ) | 1 ОТД |
INDEXED (ИНДЕКСНАЯ) | 1 ИПД |
фраза PADDING CHARACTER (ЛИТЕРА ЗАПОЛНИТЕЛЬ) | 2 ПОД |
1 ГОТ | |
фраза RECORD DELIMITER (ОГРАНИЧИТЕЛЬ ЗАПИСИ) | 2 ПОД |
1 ГОТ | |
фраза RECORD KEY (КЛЮЧ ЗАПИСИ) | 1 ИПД |
фраза RESERVE AREA (РЕЗЕРВИРОВАТЬ) | 2 ПОД |
2 ОТД | |
2 ИПД | |
1 ГОТ | |
Параграф I-O-CONTROL (УПРАВЛЕНИЕ-ВВОДОМ-ВЫВОДОМ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 СРТ | |
1 ГОТ | |
фраза MULTIPLE FILE TAPE (НА ОДНОЙ КАТУШКЕ) | 2 ПОД + |
1 ГОТ + | |
фраза RERUN (ПЕРЕПРОГОН) | 1 ПОД + |
1 ГОТ + | |
1 ИПД + | |
фраза SAME AREA (ОБЩАЯ ОБЛАСТЬ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
фраза SAME RECORD AREA (ОБЩАЯ ОБЛАСТЬ ЗАПИСИ) | 2 ПОД |
2 ОТД | |
2 ИПД | |
1 СРТ | |
фраза SAME SORT/SORT-MERGE AREA (ОБЩАЯ ОБЛАСТЬ СОРТИРОВКИ/СОРТИРОВКИ-СЛИЯНИЯ) | 1 СРТ |
Обработка исходных текстов в разделе оборудования | |
Оператор COPY (КОПИРОВАТЬ) | 1 ОИТ |
OF/IN имя-библиотеки (ИЗ имя-библиотеки) | 2 ОИТ |
фраза REPLACING (ЗАМЕНЯЯ) | 2 ОИТ |
псевдотекст | 2 ОИТ |
идентификатор | 2 ОИТ |
литерал | 2 ОИТ |
слово | 2 ОИТ |
Оператор REPLACE (ЗАМЕНИТЬ) | 2 ОИТ |
псевдотекст BY псевдотекст (псевдотекст НА псевдотекст) | 2 ОИТ |
OFF (ОТКЛЮЧИТЬ) | 2 ОИТ |
3.4. Список элементов раздела данных __________________ * Нумерация соответствует оригиналу. - Примечание изготовителя базы данных. | |
РАЗДЕЛ ДАННЫХ | 1 ПОД |
Секция файлов | 1 ОТД |
1 ИПД | |
1 СРТ | |
1 ГОТ | |
Статья описания файла | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
индикатор уровня FD (ОФ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
фраза BLOCK CONTAINS (В БЛОКЕ) | |
целое RECORDS/CHARACTERS (целое ЗАПИСЕЙ/ЛИТЕР) | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
целое-1 ТО целое-2 RECORDS/CHARACTERS (целое-1 ДО целое-2 ЗАПИСЕЙ/ЛИТЕР) | 2 ПОД |
2 ОТД | |
2 ИПД | |
1 ГОТ | |
фраза CODE-SET (АЛФАВИТ) | 1 ПОД |
1 ГОТ | |
фраза DATA RECORDS (ЗАПИСИ ДАННЫХ) | 1 ПОД + |
1 ОТД + | |
1 ИПД + | |
фраза EXTERNAL (ВНЕШНЕЕ) | 2 МПС |
фраза GLOBAL (ГЛОБАЛЬНОЕ) | 2 МПС |
фраза LABEL RECORDS (МЕТКИ) | 1 ПОД + |
1 ОТД + | |
1 ИПД + | |
1 ГОТ+ | |
фраза LINAGE (ВЕРСТКА) | 2 ПОД |
фраза FOOTING (КОНЦОВКА) | 2 ПОД |
фраза ТОР (ВЕРХНЕЕ ПОЛЕ) | 2 ПОД |
фраза BOTTOM (НИЖНЕЕ ПОЛЕ) | 2 ПОД |
фраза RECORD (В ЗАПИСИ) | |
целое-1 CHARACTERS (целое-1 ЛИТЕР) | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
фраза VARYING IN SIZE (ПЕРЕМЕННОЕ ЧИСЛО) | 2 ПОД |
2 ОТД | |
2 ИПД | |
целое-4 ТО целое-5 CHARACTERS (целое-4 ДО целое-5 ЛИТЕР) | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
фраза REPORT (ОТЧЕТ) | 1 ГОТ |
фраза VALUE OF (ЗНАЧЕНИЕ) | |
имя-реализации литерал | 1 ПОД + |
1 ОТД + | |
1 ИПД + | |
1 ГОТ + | |
имя-реализации несколько литералов | 1 ПОД + |
1 ОТД + | |
1 ИПД + | |
1 ГОТ + | |
имя-реализации имя-данного | 2 ПОД + |
2 ОТД + | |
2 ИПД + | |
1 ГОТ + | |
имя-реализации несколько имен-данных | 2 ПОД + |
2 ОТД + | |
2 ИПД + | |
1 ГОТ + | |
Статья описания сортируемого-сливаемого файла | 1 СРТ |
индикатор уровня SD (ОС) | 1 СРТ |
фраза DATA RECORDS (ЗАПИСИ ДАННЫХ) | 1 СРТ + |
фраза RECORD (В ЗАПИСИ) | |
целое-1 CHARACTERS (целое-1 ЛИТЕР) | 1 СРТ |
фраза VARYING IN SIZE (ПЕРЕМЕННОЕ ЧИСЛО) | 1 СРТ |
целое-4 ТО целое-5 CHARACTERS (целое-4 ДО целое-5 ЛИТЕР) | 1 СРТ |
Статья описания записи в секции файлов | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 СРТ | |
Секция рабочей памяти | 1 ЯДР |
Статья описания записи | 1 ЯДР |
Статья описания уровня 77 | 1 ЯДР |
Секция связи | 1 МПС |
Статья описания записи | 1 МПС |
Статья описания уровня 77 | 1 МПС |
Секция коммуникаций | 1 КОМ |
Статья описания коммуникации | 1 КОМ |
индикатор уровня CD (ОК) | 1 КОМ |
фраза FOR INPUT (ДЛЯ ВВОДА) | 1 КОМ |
фраза INITIAL (НАЧАЛЬНОГО) | 2 КОМ |
фраза END KEY (КЛЮЧ КОНЦА) | 1 КОМ |
фраза MESSAGE COUNT (ЧИСЛО СООБЩЕНИЙ) | 1 КОМ |
фраза MESSAGE DATE (ДАТА СООБЩЕНИЯ) | 1 КОМ |
фраза MESSAGE TIME (ВРЕМЯ СООБЩЕНИЯ) | 1 КОМ |
фраза SYMBOLIC QUEUE (СИМВОЛИЧЕСКАЯ ОЧЕРЕДЬ) | 1 КОМ |
фраза SYMBOLIC SOURCE (СИМВОЛИЧЕСКИЙ ИСТОЧНИК) | 1 КОМ |
фраза SYMBOLIC SUB-QUEUE-1 (СИМВОЛИЧЕСКАЯ ПОДОЧЕРЕДЬ-1) | 2 КОМ |
фраза SYMBOLIC SUB-QUEUE-2 (СИМВОЛИЧЕСКАЯ ПОДОЧЕРЕДЬ-2) | 2 КОМ |
фраза SYMBOLIC SUB-QUEUE-3 (СИМВОЛИЧЕСКАЯ ПОДОЧЕРЕДЬ-3) | 2 КОМ |
фраза STATUS KEY (КЛЮЧ СОСТОЯНИЯ) | 1 КОМ |
фраза TEXT LENGTH (ДЛИНА ТЕКСТА) | 1 КОМ |
несколько имен-данных | 2 КОМ |
фраза FOR OUTPUT (ДЛЯ ВЫВОДА) | 1 КОМ |
фраза DESTINATION COUNT (ЧИСЛО АДРЕСАТОВ) | 1 КОМ |
должен быть один | 1 КОМ |
должен быть один или несколько | 2 КОМ |
фраза DESTINATION TABLE (ТАБЛИЦА АДРЕСАТОВ) | 2 КОМ |
фраза INDEXED BY (ИНДЕКСИРУЕТСЯ) | 2 КОМ |
фраза ERROR KEY (КЛЮЧ ОШИБКИ) | 1 КОМ |
фраза SYMBOLIC DESTINATION (СИМВОЛИЧЕСКИЙ АДРЕСАТ) | 1 КОМ |
фраза STATUS KEY (КЛЮЧ СОСТОЯНИЯ) | 1 КОМ |
фраза TEXT LENGTH (ДЛИНА ТЕКСТА) | 1 КОМ |
фраза FOR I-O (ДЛЯ ВВОДА-ВЫВОДА) | 1 КОМ |
фраза INITIAL (НАЧАЛЬНОГО) | 2 КОМ |
фраза END KEY (КЛЮЧ КОНЦА) | 1 КОМ |
фраза MESSAGE DATA (ДАТА СООБЩЕНИЯ) | 1 КОМ |
фраза MESSAGE TIME (ВРЕМЯ СООБЩЕНИЯ) | 1 КОМ |
фраза STATUS KEY (КЛЮЧ СОСТОЯНИЯ) | 1 КОМ |
фраза SYMBOLIC TERMINAL (СИМВОЛИЧЕСКИЙ ТЕРМИНАЛ) | 1 КОМ |
фраза TEXT LENGTH (ДЛИНА ТЕКСТА) | 1 КОМ |
несколько имен-данных | 2 КОМ |
Статья описания записи | 1 КОМ |
Секция отчетов | 1 ГОТ |
Статья описания отчета | 1 ГОТ |
индикатор уровня RD (00) | 1 ГОТ |
фраза CODE (С КОДОМ) | 1 ГОТ |
фраза CONTROL (УПРАВЛЕНИЕ) | 1 ГОТ |
фраза GLOBAL (ГЛОБАЛЬНОЕ) | 2 МПС |
фраза PAGE (РАЗМЕР СТРАНИЦЫ) | 1 ГОТ |
Статья описания группы отчета | 1 ГОТ |
Следующие фразы появляются в статье описания записи, статье описания данного, статье описания уровня 77 и в статье описания группы отчета: | |
Фраза BLANK WHEN ZERO (ПРОБЕЛ КОГДА НУЛЬ) | 1 ЯДР |
1 ГОТ | |
Фраза COLUMN NUMBER (НОМЕР СТОЛБЦА) | 1 ГОТ |
Фраза имя-данного | 1 ЯДР |
1 ГОТ | |
Фраза EXTERNAL (ВНЕШНЕЕ) | 2 МПС |
Фраза FILLER (ЗАПОЛНИТЕЛЬ) | 1 ЯДР |
Фраза GLOBAL (ГЛОБАЛЬНОЕ) | 2 МПС |
Фраза GROUP INDICATE (ОПРЕДЕЛЯЕТ ГРУППУ) | 1 ГОТ |
Фраза JUSTIFIED (СДВИНУТО) | 1 ЯДР |
1 ГОТ | |
Фраза номер-уровня | 1 ЯДР |
от 01 до 49; одна или две цифры | 1 ЯДР |
1 ГОТ | |
66 | 2 ЯДР |
77 | 1 ЯДР |
88 | 2 ЯДР |
Фраза LINE NUMBER (НОМЕР СТРОКИ) | 1 ГОТ |
Фраза NEXT GROUP (СЛЕДУЮЩАЯ ГРУППА) | 1 ГОТ |
Фраза OCCURS (ПОВТОРЯЕТСЯ) | 1 ЯДР |
целое TIMES (целое РАЗ) | 1 ЯДР |
фраза ASCENDING/DESCENDING KEY (ПО ВОЗРАСТАНИЮ/УБЫВАНИЮ КЛЮЧА) | 2 ЯДР |
фраза INDEXED BY (ИНДЕКСИРУЕТСЯ) | 1 ЯДР |
фраза целое-1 ТО целое-2 DEPENDING ON (целое-1 ДО целое-2 В ЗАВИСИМОСТИ ОТ) | 2 ЯДР |
Фраза PICTURE (ШАБЛОН) | 1 ЯДР |
1 ГОТ | |
строка литер содержит не более 30 литер | 1 ЯДР |
1 ГОТ | |
литеры данных: X 9 А | 1 ЯДР |
1 ГОТ | |
операционные символы: S (З) V (T) P (M) | 1 ЯДР |
1 ГОТ | |
литеры фиксированной вставки В + - . , 0 CR (КР) DB (ДВ) / | 1 ЯДР |
1 ГОТ | |
литеры замещения или плавающей вставки + - Z (П) * | 1 ЯДР |
1 ГОТ | |
замена валютного знака | 1 ЯДР |
1 ГОТ | |
замена десятичной точки | 1 ЯДР |
1 ГОТ | |
Фраза REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ) | 1 ЯДР |
не может быть вложенной | 1 ЯДР |
может быть вложенной | 2 ЯДР |
Фраза RENAMES (ПЕРЕИМЕНОВЫВАЕТ) | 2 ЯДР |
Фраза SIGN (ЗНАК) | 1 ЯДР |
1 ГОТ | |
Фраза SOURCE (ИСТОЧНИК) | 1 ГОТ |
Фраза SUM (СУММА) | 1 ГОТ |
Фраза SYNCHRONIZED (ВЫДЕЛЕНО) | 1 ЯДР |
Фраза TYPE (ТИП) | 1 ГОТ |
Фраза USAGE (об использовании) | 1 ЯДР |
1 ГОТ | |
BINARY (ДВОИЧНОЕ) | 1 ЯДР |
COMPUTATIONAL (ДЛЯ ВЫЧИСЛЕНИЙ) | 1 ЯДР |
DISPLAY (ДЛЯ ВЫДАЧИ) | 1 ЯДР |
1 ГОТ | |
INDEX (ДЛЯ ИНДЕКСА) | 1 ЯДР |
PACKED-DECIMAL (ДЕСЯТИЧНОЕ) | 1 ЯДР |
Фраза VALUE (ЗНАЧЕНИЕ) | 1 ЯДР |
1 ГОТ | |
литерал | 1 ЯДР |
1 ГОТ | |
несколько литералов | 2 ЯДР |
литерал-1 THROUGH литерал-2 (литерал-1 ПО литерал-2) | 2 ЯДР |
несколько диапазонов литералов | 2 ЯДР |
Обработка исходных текстов в разделе данных | |
Оператор COPY (КОПИРОВАТЬ) | 1 ОИТ |
OF/IN имя-библиотеки (ИЗ имя-библиотеки) | 2 ОИТ |
фраза REPLACING (ЗАМЕНЯЯ) | 2 ОИТ |
псевдотекст | 2 ОИТ |
идентификатор | 2 ОИТ |
литерал | 2 ОИТ |
слово | 2 ОИТ |
Оператор REPLACE (ЗАМЕНИТЬ) | 2 ОИТ |
псевдотекст BY псевдотекст (псевдотекст НА псевдотекст) | 2 ОИТ |
OFF (ОТКЛЮЧИТЬ) | 2 ОИТ |
3.5 Список элементов раздела процедур | |
РАЗДЕЛ ПРОЦЕДУР | |
Заголовок раздела процедур | 1 ЯДР |
Фраза USING (ИСПОЛЬЗУЯ) | 1 МПС |
разрешается по крайней мере 5 операндов | 1 МПС |
нет ограничения на число операндов | 2 МПС |
Декларативные процедуры | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
1 ОТЛ + | |
DECLARATIVES (ДЕКЛАРАТИВЫ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
1 ОТЛ + | |
END DECLARATIVES (КОНЕЦ ДЕКЛАРАТИВ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
1 ОТЛ + | |
Арифметические выражения | 2 ЯДР |
Знаки бинарных арифметических операций + - * / ** | 2 ЯДР |
Знаки унарных арифметических операций + - | 2 ЯДР |
Условные выражения | 1 ЯДР |
Простое условие | 1 ЯДР |
Условие отношения | 1 ЯДР |
Знаки операций отношения | |
[NOT] GREATER THAN ([HE] БОЛЬШЕ) | 1 ЯДР |
[NOT] > ([НЕ] >) | 1 ЯДР |
[NOT] LESS THAN ([HE] МЕНЬШЕ) | 1 ЯДР |
[NOT] < ([HE] td> | 1 ЯДР |
[NOT] EQUAL TO ([НЕ] РАВНО) | 1 ЯДР |
[NOT] = ([НЕ] =) | 1 ЯДР |
GREATER THAN OR EQUAL TO (БОЛЬШЕ ИЛИ РАВНО) | 1 ЯДР |
> = | 1 ЯДР |
LESS THAN OR EQUAL TO (МЕНЬШЕ ИЛИ РАВНО) | 1 ЯДР |
< = | 1 ЯДР |
Сравнение числовых операндов | 1 ЯДР |
Сравнение нечисловых операндов | 1 ЯДР |
Сравнение имен-индексов и (или) индексных данных | 1 ЯДР |
Условие класса | 1 ЯДР |
NUMERIC (ЧИСЛОВОЕ) | 1 ЯДР |
ALPHABETIC (БУКВЕННОЕ) | 1 ЯДР |
ALPHABETIC-LOWER (СТРОЧНЫЕ) | 1 ЯДР |
ALPHABETIC-UPPER (ПРОПИСНЫЕ) | 1 ЯДР |
имя-класса | 1 ЯДР |
Условие имени-условия | 2 ЯДР |
Условие знака | 2 ЯДР |
Условие состояния-переключателя | 1 ЯДР |
Сложное условие | 2 ЯДР |
Знаки логических операций AND (И) OR (ИЛИ) NOT (HE) | 2 ЯДР |
Отрицание условия | 2 ЯДР |
Комбинированное условие | 2 ЯДР |
Условие в скобках | 1 ЯДР |
Сокращенные комбинированные условия отношения | 2 ЯДР |
Арифметические операторы | 1 ЯДР |
Арифметические операнды имеют длину до 18 цифр | 1 ЯДР |
Композиция операндов содержит не более 18 цифр | 1 ЯДР |
Оператор ACCEPT (ПРИНЯТЬ) | 1 ЯДР |
идентификатор | 1 ЯДР |
только одна передача данных | 1 ЯДР |
число передач данных не ограничивается | 2 ЯДР |
фраза FROM мнемоническое-имя (С мнемоническое-имя) | 2 ЯДР |
фраза FROM DATE/DAY/DAY-OF-WEEK/TIME (ДАТУ/ДЕНЬ/ДЕНЬ-НЕДЕЛИ/ВРЕМЯ) | 2 ЯДР |
Оператор ACCEPT MESSAGE COUNT (ПРИНЯТЬ ЧИСЛО СООБЩЕНИЙ) | 1 КОМ |
Оператор ADD (СЛОЖИТЬ) | 1 ЯДР |
идентификатор/литерал | 1 ЯДР |
несколько идентификаторов/литералов | 1 ЯДР |
ТО идентификатор (С идентификатор) | 1 ЯДР |
ТО несколько-идентификаторов (С несколько-идентификаторов) | 1 ЯДР |
ТО идентификатор/литерал GIVING идентификатор (С идентификатор/литерал ПОЛУЧАЯ идентификатор) | 1 ЯДР |
ТО идентификатор/литерал GIVING несколько-идентификаторов (С идентификатор/литерал ПОЛУЧАЯ несколько идентификаторов) | 1 ЯДР |
фраза ROUNDED (ОКРУГЛЯЯ) | 1 ЯДР |
фраза ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ) | 1 ЯДР |
фраза NOT ON SIZE ERROR (БЕЗ ПЕРЕПОЛНЕНИЯ) | 1 ЯДР |
фраза END-ADD (КОНЕЦ-СЛОЖИТЬ) | 1 ЯДР |
фраза CORRESPONDING (СООТВЕТСТВЕННО) | 2 ЯДР |
Оператор ALTER (ИЗМЕНИТЬ) | 1 ЯДР + |
только одно имя-процедуры | 1 ЯДР + |
несколько имен-процедур | 2 ЯДР + |
Оператор CALL (ВЫЗВАТЬ) | 1 МПС |
литерал | 1 МПС |
идентификатор | 2 МПС |
фраза USING (ИСПОЛЬЗУЯ) | 1 МПС |
идентификатор | 1 МПС |
разрешается по крайней мере 5 операндов | 1 МПС |
нет ограничения на число операндов | 2 МПС |
фраза BY REFERENCE (ССЫЛКУ) | 2 МПС |
фраза BY CONTENT (ЗНАЧЕНИЕ) | 2 МПС |
фраза ON OVERFLOW (ПРИ ПЕРЕПОЛНЕНИИ) | 2 МПС |
фраза ON EXCEPTION (ПРИ ОШИБКЕ) | 2 МПС |
фраза NOT ON EXCEPTION (БЕЗ ОШИБКИ) | 2 МПС |
фраза END-CALL (КОНЕЦ-ВЫЗВАТЬ) (формат 1) | 1 МПС |
фраза END-CALL (КОНЕЦ-ВЫЗВАТЬ) (формат 2) | 2 МПС |
Оператор CANCEL (ОСВОБОДИТЬ) | 2 МПС |
литерал | 2 МПС |
идентификатор | 2 МПС |
Оператор CLOSE (ЗАКРЫТЬ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
имя-файла | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
несколько имен-файлов | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
фраза REEL/UNIT (КАТУШКУ/ТОМ) | 1 ПОД |
1 ГОТ | |
фраза FOR REMOVAL (С УДАЛЕНИЕМ) | 2 ПОД |
фраза WITH NO REWIND (БЕЗ ПЕРЕМОТКИ) | 2 ПОД |
1 ГОТ | |
фраза WITH LOCK (С ЗАМКОМ) | 2 ПОД |
2 ОТД | |
2 ИПД | |
1 ГОТ | |
Оператор COMPUTE (ВЫЧИСЛИТЬ) | 2 ЯДР |
арифметическое выражение | 2 ЯДР |
несколько идентификаторов | 2 ЯДР |
фраза ROUNDED (ОКРУГЛЯЯ) | 2 ЯДР |
фраза ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ) | 2 ЯДР |
фраза NOT ON SIZE ERROR (БЕЗ ПЕРЕПОЛНЕНИЯ) | 2 ЯДР |
фраза END-COMPUTE (КОНЕЦ-ВЫЧИСЛИТЬ) | 2 ЯДР |
Оператор CONTINUE (ПРОДОЛЖИТЬ) | 1 ЯДР |
Оператор DELETE (УДАЛИТЬ) | 1 ОТД |
1 ИПД | |
фраза INVALID KEY (ПРИ ОШИБКЕ КЛЮЧА) | 1 ОТД |
1 ИПД | |
фраза NOT INVALID KEY (БЕЗ ОШИБКИ КЛЮЧА) | 1 ОТД |
1 ИПД | |
фраза END-DELETE (КОНЕЦ-УДАЛИТЬ) | 1 ОТД |
1 ИПД | |
Оператор DISABLE (ЗАПРЕТИТЬ) | 2 КОМ |
фраза INPUT (ВВОД) | 2 КОМ |
фраза TERMINAL (С ТЕРМИНАЛА) | 2 КОМ |
фраза I-O-TERMINAL (ВВОД-ВЫВОД С ТЕРМИНАЛА) | 2 КОМ |
фраза OUTPUT (ВЫВОД) | 2 КОМ |
фраза WITH KEY (КЛЮЧ) | 2 КОM + |
Оператор DISPLAY (ВЫДАТЬ) | 1 ЯДР |
только одна передача данных | 1 ЯДР |
ограничений на число передач нет | 2 ЯДР |
идентификатор/литерал | 1 ЯДР |
несколько идентификаторов/литералов | 1 ЯДР |
фраза UPON мнемоническое-имя (НА мнемоническое-имя) | 2 ЯДР |
фраза WITH NO ADVANCING (БЕЗ ПРОДВИЖЕНИЯ) | 2 ЯДР |
Оператор DIVIDE (РАЗДЕЛИТЬ) | 1 ЯДР |
BY идентификатор/литерал (НА идентификатор/литерал) | 1 ЯДР |
GIVING идентификатор (ПОЛУЧАЯ идентификатор) | 1 ЯДР |
GIVING несколько-идентификаторов (ПОЛУЧАЯ несколько-идентификаторов) | 1 ЯДР |
фраза ROUNDED (ОКРУГЛЯЯ) | 1 ЯДР |
фраза REMAINDER (ОСТАТОК) | 2 ЯДР |
фраза ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ) | 1 ЯДР |
фраза NOT ON SIZE ERROR (БЕЗ ПЕРЕПОЛНЕНИЯ) | 1 ЯДР |
фраза END-DIVIDE (КОНЕЦ-РАЗДЕЛИТЬ) | 1 ЯДР |
Оператор ENABLE (РАЗРЕШИТЬ) | 2 КОМ |
фраза INPUT (ВВОД) | 2 КОМ |
фраза TERMINAL (С ТЕРМИНАЛА) | 2 КОМ |
фраза I-O-TERMINAL (ВВОД-ВЫВОД С ТЕРМИНАЛА) | 2 КОМ |
фраза OUTPUT (ВЫВОД) | 2 КОМ |
фраза WITH KEY (КЛЮЧ) | 2 КОМ + |
Оператор ENTER (ВОЙТИ) | 1 ЯДР + |
Оператор EVALUATE (ОЦЕНИТЬ) | 2 ЯДР |
идентификатор/литерал | 2 ЯДР |
арифметическое выражение | 2 ЯДР |
условное выражение | 2 ЯДР |
TRUE/FALSE (ИСТИНА/ЛОЖЬ) | 2 ЯДР |
фраза ALSO (ТАКЖЕ) | 2 ЯДР |
фраза WHEN (КОГДА) | 2 ЯДР |
фраза ALSO (ТАКЖЕ) | 2 ЯДР |
фраза WHEN OTHER (ИНАЧЕ) | 2 ЯДР |
фраза END-EVALUATE (КОНЕЦ-ОЦЕНИТЬ) | 2 ЯДР |
Оператор EXIT (ВЫЙТИ) | 1 ЯДР |
Оператор EXIT PROGRAM (ВЫЙТИ ИЗ ПРОГРАММЫ) | 1 МПС |
Оператор GENERATE (ГЕНЕРИРОВАТЬ) | 1 ГОТ |
имя-данного | 1 ГОТ |
имя-отчета | 1 ГОТ |
Оператор GO TO (ПЕРЕЙТИ) | 1 ЯДР |
имя-процедуры обязательно | 1 ЯДР |
имя-процедуры необязательно | 2 ЯДР + |
фраза DEPENDING ON (В ЗАВИСИМОСТИ ОТ) | 1 ЯДР |
Оператор IF (ЕСЛИ) | 1 ЯДР |
только повелительные операторы | 1 ЯДР |
повелительные и (или) условные операторы | 2 ЯДР |
вложенные операторы IF (ЕСЛИ) | 1 ЯДР |
необязательное слово THEN (TO) | 1 ЯДР |
фраза NEXT SENTENCE (СЛЕДУЮЩЕЕ ПРЕДЛОЖЕНИЕ) | 1 ЯДР |
фраза ELSE (ИНАЧЕ) | 1 ЯДР |
фраза END-IF (КОНЕЦ-ЕСЛИ) | 1 ЯДР |
Оператор INITIALIZE (ИНИЦИИРОВАТЬ) | 2 ЯДР |
несколько идентификаторов | 2 ЯДР |
фраза REPLACING (ЗАМЕНЯЯ) | 2 ЯДР |
несколько фраз REPLACING (ЗАМЕНЯЯ) | 2 ЯДР |
Оператор INITIATE (НАЧАТЬ) | 1 ГОТ |
Оператор INSPECT (ПРОСМОТРЕТЬ) | 1 ЯДР |
на вхождение одной литеры | 1 ЯДР |
на вхождение нескольких литер | 2 ЯДР |
фраза TALLYING (СЧИТАЯ) | 1 ЯДР |
фраза BEFORE/AFTER (ДО/ПОСЛЕ) | 1 ЯДР |
несколько фраз BEFORE/AFTER (ДО/ПОСЛЕ) | 2 ЯДР |
несколько фраз TALLYING (СЧИТАЯ) | 2 ЯДР |
фраза REPLACING (ЗАМЕНЯЯ) | 1 ЯДР |
фраза BEFORE/AFTER (ДО/ПОСЛЕ) | 1 ЯДР |
несколько фраз BEFORE/AFTER (ДО/ПОСЛЕ) | 2 ЯДР |
несколько фраз REPLACING (ЗАМЕНЯЯ) | 2 ЯДР |
фразы TALLYING (СЧИТАЯ) и REPLACING (ЗАМЕНЯЯ) | 1 ЯДР |
фраза CONVERTING (ПРЕВРАЩАЯ) | 2 ЯДР |
Оператор MERGE (СЛИТЬ) | 1 СРТ |
фраза ASCENDING/DESCENDING KEY (ПО ВОЗРАСТАНИЮ/УБЫВАНИЮ КЛЮЧА) | 1 СРТ |
фраза COLLATING SEQUENCE (АЛФАВИТ) | 1 СРТ |
фраза USING (ИСПОЛЬЗУЯ) | 1 СРТ |
фраза OUTPUT PROCEDURE (ПРОЦЕДУРА ВЫВОДА) | 1 СРТ |
имя-процедуры | 1 СРТ |
фраза GIVING (ПОЛУЧАЯ) | 1 CРT |
Оператор MOVE (ПОМЕСТИТЬ) | 1 ЯДР |
ТО идентификатор (В идентификатор) | 1 ЯДР |
ТО несколько идентификаторов (В несколько идентификаторов) | 1 ЯДР |
фраза CORRESPONDING (СООТВЕТСТВЕННО) | 2 ЯДР |
дередактирование цифровых редактируемых данных | 2 ЯДР |
Оператор MULTIPLY (УМНОЖИТЬ) | 1 ЯДР |
BY идентификатор (НА идентификатор) | 1 ЯДР |
BY несколько идентификаторов (НА несколько идентификаторов) | 1 ЯДР |
GIVING идентификатор (ПОЛУЧАЯ идентификатор) | 1 ЯДР |
GIVING несколько идентификаторов (ПОЛУЧАЯ несколько идентификаторов) | 1 ЯДР |
фраза ROUNDED (ОКРУГЛЯЯ) | 1 ЯДР |
фраза ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ) | 1 ЯДР |
фраза NOT ON SIZE ERROR (БЕЗ ПЕРЕПОЛНЕНИЯ) | 1 ЯДР |
фраза END-MULTIPLY (КОНЕЦ-УМНОЖИТЬ) | 1 ЯДР |
Оператор OPEN (ОТКРЫТЬ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
имя-файла | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
несколько имен-файлов | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
фраза INPUT (ВХОДНОЙ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
фраза WITH NO REWIND (БЕЗ ПЕРЕМОТКИ) | 2 ПОД |
фраза REVERSED (PEBEPCHO) | 2 ПОД + |
фраза OUTPUT (ВЫХОДНОЙ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
WITH NO REWIND (БЕЗ ПЕРЕМОТКИ) | 2 ПОД |
1 ГОТ | |
фраза I-O (ВХОДНОЙ-ВЫХОДНОЙ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
фраза EXTEND (ДОПОЛНЯЕМЫЙ) | 2 ПОД |
2 ОТД | |
2 ИПД | |
1 ГОТ | |
несколько фраз INPUT (ВХОДНОЙ), OUTPUT (ВЫХОДНОЙ), I-O (ВХОДНОЙ-ВЫХОДНОЙ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
несколько фраз EXTEND (ДОПОЛНЯЕМЫЙ) | 2 ПОД |
2 ОТД | |
2 ИПД | |
Оператор PERFORM (ВЫПОЛНИТЬ) | 1 ЯДР |
имя-процедуры необязательно | 1 ЯДР |
фраза THROUGH имя-процедуры (ПО имя-процедуры) | 1 ЯДР |
вариант повелительный-оператор | 1 ЯДР |
фраза END-PERFORM (КОНЕЦ-ВЫПОЛНИТЬ) | 1 ЯДР |
фраза TIMES (РАЗ) | 1 ЯДР |
фраза UNTIL (ДО) | 1 ЯДР |
фраза TEST BEFORE/AFTER (С ПРОВЕРКОЙ В НАЧАЛЕ/ В КОНЦЕ) | 2 ЯДР |
фраза VARYING (МЕНЯЯ) | 2 ЯДР |
фраза TEST BEFORE/AFTER (С ПРОВЕРКОЙ В НАЧАЛЕ/ В КОНЦЕ) | 2 ЯДР |
фраза AFTER (ЗАТЕМ) | 2 ЯДР |
допускаются по крайней мере 6 фраз AFTER (ЗАТЕМ) | 2 ЯДР |
Оператор PURGE (ОЧИСТИТЬ) | 2 КОМ |
Оператор READ (ЧИТАТЬ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
фраза NEXT (СЛЕДУЮЩУЮ) | 2 ПОД |
2 ОТД | |
2 ИПД | |
фраза INTO (В) | 1 ПОД |
1 ОТД | |
1 ИПД | |
фраза AT END (В КОНЦЕ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
фраза NOT AT END (HE В КОНЦЕ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
фраза KEY (КЛЮЧ) | 2 ИПД |
фраза INVALID KEY (ПРИ ОШИБКЕ КЛЮЧА) | 1 ОТД |
1 ИПД | |
фраза NOT INVALID KEY (БЕЗ ОШИБКИ КЛЮЧА) | 1 ОТД |
1 ИПД | |
фраза END-READ (КОНЕЦ-ЧИТАТЬ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
Оператор RECEIVE (ПОЛУЧИТЬ) | 1 КОМ |
фраза MESSAGE (СООБЩЕНИЕ) | 1 КОМ |
фраза SEGMENT (СЕГМЕНТ) | 1 КОМ |
фраза INTO идентификатор (В идентификатор) | 1 КОМ |
фраза NO DATA (НЕТ ДАННЫХ) | 1 КОМ |
фраза WITH DATA (ЕСТЬ ДАННЫЕ) | 1 КОМ |
фраза END-RECEIVE (КОНЕЦ-ПОЛУЧИТЬ) | 1 КОМ |
Оператор RELEASE (ПЕРЕДАТЬ) | 1 СРТ |
фраза FROM (ИЗ ПОЛЯ) | 1 СРТ |
Оператор RETURN (ВЕРНУТЬ) | 1 СРТ |
фраза INTO (В) | 1 СРТ |
фраза AT END (В КОНЦЕ) | 1 СРТ |
фраза NOT AT END (HE В КОНЦЕ) | 1 СРТ |
фраза END-RETURN (КОНЕЦ-ВЕРНУТЬ) | 1 СРТ |
Оператор REWRITE (ОБНОВИТЬ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
фраза FROM (ИЗ ПОЛЯ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
фраза INVALID KEY (ПРИ ОШИБКЕ КЛЮЧА) | 1 ОТД |
1 ИПД | |
фраза NOT INVALID KEY (БЕЗ ОШИБКИ КЛЮЧА) | 1 ОТД |
1 ИПД | |
фраза END-REWRITE (КОНЕЦ-ОБНОВИТЬ) | 1 ОТД |
1 ИПД | |
Оператор SEARCH (ИСКАТЬ) | 2 ЯДР |
фраза VARYING (МЕНЯЯ) | 2 ЯДР |
фраза AT END (В КОНЦЕ) | 2 ЯДР |
фраза WHEN (КОГДА) | 2 ЯДР |
несколько фраз WHEN (КОГДА) | 2 ЯДР |
фраза END-SEARCH (КОНЕЦ-ИСКАТЬ) | 2 ЯДР |
Оператор SEARCH ALL (ИСКАТЬ ОСОБО) | 2 ЯДР |
фраза AT END (В КОНЦЕ) | 2 ЯДР |
фраза WHEN (КОГДА) | 2 ЯДР |
фраза END-SEARCH (КОНЕЦ-ИСКАТЬ) | 2 ЯДР |
Оператор SEND (ПОСЛАТЬ) | 1 КОМ |
фраза FROM идентификатор (ИЗ ПОЛЯ идентификатор) (часть сообщения) | 2 КОМ |
фраза FROM идентификатор (ИЗ ПОЛЯ идентификатор) (полное сообщение) | 1 КОМ |
фреза WITH идентификатор (С идентификатор) | 2 КОМ |
фраза WITH ESI (С ИКС) | 2 КОМ |
фраза WITH EMI (С ИКЩ) | 2 КОМ |
фраза WITH EGI (С ИКГ) | 2 КОМ |
фраза BEFORE/AFTER ADVANCING (ДО/ПОСЛЕ ПРОДВИЖЕНИЯ) | 1 КОМ |
целое LINE/LINES (целое СТРОК) | 1 КОМ |
идентификатор LINE/LINES (идентификатор СТРОК) | 1 КОМ |
мнемоническое-имя | 2 КОМ |
PAGE (СТРАНИЦЫ) | 1 КОМ |
фраза REPLACING LINE (ЗАМЕНЯЯ СТРОКУ) | 2 КОМ |
Оператор SET (УСТАНОВИТЬ) | 1 ЯДР |
имя-индекса/идентификатор ТО (НА) | 1 ЯДР |
имя-индекса UP BY/DOWN BY (имя-индекса ПРИБАВЛЯЯ/ВЫЧИТАЯ) | 1 ЯДР |
мнемоническое-имя ТО ON/OFF (мнемоническое-имя НА ВКЛЮЧЕНО/ВЫКЛЮЧЕНО) | 1 ЯДР |
имя-условия ТО TRUE (имя-условия НА ИСТИНА) | 2 ЯДР |
Оператор SORT (СОРТИРОВАТЬ) | 1 СРТ |
фраза ASCENDING/DESCENDING KEY (ПО ВОЗРАСТАНИЮ/УБЫВАНИЮ КЛЮЧА) | 1 СРТ |
фраза DUPLICATES (С ДУБЛИРОВАНИЕМ) | 1 СРТ |
фраза COLLATING SEQUENCE (АЛФАВИТ) | 1 СРТ |
фраза INPUT PROCEDURE (ПРОЦЕДУРА ВВОДА) | 1 СРТ |
имя-процедуры | 1 СРТ |
фраза USING (ИСПОЛЬЗУЯ) | 1 СРТ |
фраза OUTPUT PROCEDURE (ПРОЦЕДУРА ВЫВОДА) | 1 СРТ |
имя-процедуры | 1 СРТ |
фраза GIVING (ПОЛУЧАЯ) | 1 СРТ |
Оператор START (ПОДВЕСТИ) | 2 ОТД |
2 ИПД | |
фраза KEY (КЛЮЧ) | 2 ОТД |
2 ИПД | |
EQUAL TO (РАВНО) | 2 ОТД |
2 ИПД | |
= | 2 ОТД |
2 ИПД | |
GREATER THAN (БОЛЬШЕ) | 2 ОТД |
2 ИПД | |
> | 2 ОТД |
2 ИПД | |
NOT LESS THAN (HE МЕНЬШЕ) | 2 ОТД |
2 ИПД | |
NOT < (HE td> | 2 ОТД |
2 ИПД | |
GREATER THAN OR EQUAL TO (БОЛЬШЕ ИЛИ РАВНО) | 2 ОТД |
2 ИПД | |
> = | 2 ОТД |
2 ИПД | |
фраза INVALID KEY (ПРИ ОШИБКЕ КЛЮЧА) | 2 ОТД |
2 ИПД | |
фраза NOT INVALID KEY (БЕЗ ОШИБКИ КЛЮЧА) | 2 ОТД |
2 ИПД | |
фраза END-START (КОНЕЦ-ПОДВЕСТИ) | 2 ОТД |
2 ИПД | |
Оператор STOP (ОСТАНОВИТЬ) | 1 ЯДР |
STOP (РАБОТУ) | 1 ЯДР |
литерал | 1 ЯДР + |
Оператор STRING (СОБРАТЬ) | 2 ЯДР |
несколько DELIMITED BY (ОГРАНИЧИВАЯСЬ) | 2 ЯДР |
фраза WITH POINTER (УКАЗАТЕЛЬ) | 2 ЯДР |
фраза ON OVERFLOW (ПРИ ПЕРЕПОЛНЕНИИ) | 2 ЯДР |
фраза NOT ON OVERFLOW (БЕЗ ПЕРЕПОЛНЕНИЯ) | 2 ЯДР |
фраза END-STRING (КОНЕЦ-СОБРАТЬ) | 2 ЯДР |
Оператор SUBTRACT (ОТНЯТЬ) | 1 ЯДР |
идентификатор/литерал | 1 ЯДР |
несколько идентификаторов/литералов | 1 ЯДР |
FROM идентификатор (ОТ идентификатор) | 1 ЯДР |
FROM несколько идентификаторов (ОТ несколько идентификаторов) | 1 ЯДР |
GIVING идентификатор (ПОЛУЧАЯ идентификатор) | 1 ЯДР |
GIVING несколько идентификаторов (ПОЛУЧАЯ несколько идентификаторов) | 1 ЯДР |
фраза ROUNDED (ОКРУГЛЯЯ) | 1 ЯДР |
фраза ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ) | 1 ЯДР |
фраза NOT ON SIZE ERROR (БЕЗ ПЕРЕПОЛНЕНИЯ) | 1 ЯДР |
фраза END-SUBTRACT (КОНЕЦ-ОТНЯТЬ) | 1 ЯДР |
фраза CORRESPONDING (СООТВЕТСТВЕННО) | 2 ЯДР |
Оператор SUPPRESS (ПОДАВИТЬ) | 1 ГОТ |
Оператор TERMINATE (ЗАКОНЧИТЬ) | 1 ГОТ |
Оператор UNSTRING (РАЗОБРАТЬ) | 2 ЯДР |
фраза DELIMITED BY (ОГРАНИЧИВАЯСЬ) | 2 ЯДР |
фраза DELIMITER IN (ОГРАНИЧИТЕЛЬ В) | 2 ЯДР |
фраза COUNT IN (СЧЕТ В) | 2 ЯДР |
фраза WITH POINTER (УКАЗАТЕЛЬ) | 2 ЯДР |
фраза TALLYING (СЧИТАЯ) | 2 ЯДР |
фраза ON OVERFLOW (ПРИ ПЕРЕПОЛНЕНИИ) | 2 ЯДР |
фраза NOT ON OVERFLOW (БЕЗ ПЕРЕПОЛНЕНИЯ) | 2 ЯДР |
фраза END-UNSTRING (КОНЕЦ-РАЗОБРАТЬ) | 2 ЯДР |
Оператор USE (ИСПОЛЬЗОВАТЬ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
1 ОТЛ+ | |
фраза EXCEPTION/ERROR PROCEDURE (ПРОЦЕДУРЫ ОШИБКИ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
фраза GLOBAL (ГЛОБАЛЬНО) | 2 МПС |
ON имя-файла (ДЛЯ имя-файла) | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
ON несколько имен-файлов (ДЛЯ несколько имен-файлов) | 2 ПОД |
2 ОТД | |
2 ИПД | |
1 ГОТ | |
ON INPUT (ДЛЯ ВХОДНЫХ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
ON OUTPUT (ДЛЯ ВЫХОДНЫХ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
1 ГОТ | |
ON I-O (ДЛЯ ВХОДНЫХ-ВЫХОДНЫХ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
ON EXTEND (ДЛЯ ДОПОЛНЯЕМЫХ) | 2 ПОД |
2 ОТД | |
2 ИПД | |
1 ГОТ | |
фраза BEFORE REPORTING (ДО ВЫДАЧИ) | 1 ГОТ |
фраза GLOBAL (ГЛОБАЛЬНО) | 2 МПС |
фраза FOR DEBUGGING (ДЛЯ ОТЛАДКИ) | 1 ОТЛ + |
имя-процедуры | 1 ОТЛ + |
ALL PROCEDURES (ПРИ ВСЕХ ПРОЦЕДУРАХ) | 1 ОТЛ + |
ALL REFERENCES OF идентификатор-1 (ПРИ ВСЕХ ССЫЛКАХ НА идентификатор-1) | 2 ОТЛ + |
имя-коммуникации | 2 ОТЛ + |
имя-файла | 2 ОТЛ + |
Оператор WRITE (ПИСАТЬ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
фраза FROM (ИЗ ПОЛЯ) | 1 ПОД |
1 ОТД | |
1 ИПД | |
фраза BEFORE/AFTER ADVANCING (ДО/ПОСЛЕ ПРОДВИЖЕНИЯ) | 1 ПОД |
целое LINE/LINES (целое СТРОК) | 1 ПОД |
идентификатор LINE/LINES (идентификатор СТРОК) | 1 ПОД |
мнемоническое-имя | 2 ПОД |
PAGE (СТРАНИЦЫ) | 1 ПОД |
фраза AT END-OF-PAGE/EOP (В КОНЦЕ СТРАНИЦЫ) | 2 ПОД |
фраза NOT AT END-OF-PAGE/EOP (HE В КОНЦЕ СТРАНИЦЫ) | 2 ПОД |
фраза INVALID KEY (ПРИ ОШИБКЕ КЛЮЧА) | 1 ОТД |
1 ИПД | |
фраза NOT INVALID KEY (БЕЗ ОШИБКИ КЛЮЧА) | 1 ОТД |
1 ИПД | |
фраза END-WRITE (КОНЕЦ-ПИСАТЬ) | 2 ПОД |
2 ОТД | |
2 ИПД | |
Сегментация | |
Номера-сегментов от 0 до 49 для постоянных сегментов | 1 СЕГ + |
Номера-сегментов от 50 до 99 для независимых сегментов | 1 СЕГ + |
Все секции, имеющие одинаковый номер-сегмента, должны быть смежными в исходной программе | 1 СЕГ + |
Секции, имеющие одинаковый номер-сегмента, могут быть несмежными в исходной программе | 2 СЕГ + |
Обработка исходных текстов в разделе процедур | |
Оператор COPY (КОПИРОВАТЬ) | 1 ОИТ |
фраза OF/IN имя-библиотеки (ИЗ имя-библиотеки) | 2 ОИТ |
фраза REPLACING (ЗАМЕНЯЯ) | 2 ОИТ |
псевдотекст | 2 ОИТ |
идентификатор | 2 ОИТ |
литерал | 2 ОИТ |
слово | 2 ОИТ |
Оператор REPLACE (ЗАМЕНИТЬ) | 2 ОИТ |
псевдотекст BY псевдотекст (псевдотекст НА псевдотекст) | 2 ОИТ |
OFF (ОТКЛЮЧИТЬ) | 2 ОИТ |
Пример 1 | |||||
01 TABLE-1. | |||||
02 TABLE-ELEMENT OCCURS 20 TIMES. | |||||
03 FAM... | |||||
03 NAME ... | |||||
01 ТАБЛИЦА-1. | |||||
02 ТАБЛИЧНЫЙ-ЭЛЕМЕНТ ПОВТОРЯЕТСЯ 20 РАЗ. | |||||
03 ФАМИЛИЯ... | |||||
03 ИМЯ ... |
02 TABLE-1. | ||||
03 TABLE-ELEMENT OCCURS 20 TIMES. | ||||
04 FIO OCCURS 5 TIMES. | ||||
05 FAM... | ||||
05 NAME... | ||||
02 ТАБЛИЦА-1. | ||||
03 ТАБЛИЧНЫЙ-ЭЛЕМЕНТ ПОВТОРЯЕТСЯ 20 РАЗ. | ||||
04 ФИО ПОВТОРЯЕТСЯ 5 РАЗ. | ||||
05 ФАМИЛИЯ... | ||||
05 ИМЯ... |
01 INFORMATION. | ||
02 OTDEL ... | ||
02 FIO OCCURS 20 TIMES ... | ||
02 N-ROOM.... | ||
01 СВЕДЕНИЯ. | ||
02 ОТДЕЛ ... | ||
02 ФИО ПОВТОРЯЕТСЯ 20 РАЗ ... | ||
02 N-КОМНАТЫ ... | ||
Пример 4 | ||
01 INFORMATION. | ||
02 DEPARTMENT OCCURS 20 TIMES ... | ||
02 FIO ... | ||
02 N-ROOM OCCURS 5 TIMES ... | ||
01 СВЕДЕНИЯ. | ||
02 ЦЕХ ПОВТОРЯЕТСЯ 20 РАЗ ... | ||
02 ФИО ... | ||
02 N-КОМНАТЫ ПОВТОРЯЕТСЯ 5 РАЗ ... |
02 DEPARTMENT OCCURS 20 TIMES ... | ||
03 FIO... | ||
03 N-ROOM OCCURS 5 TIMES ... | ||
02 ЦЕХ ПОВТОРЯЕТСЯ 20 РАЗ ... | ||
03 ФИО ... | ||
03 N-КОМНАТЫ ПОВТОРЯЕТСЯ 5 РАЗ ... |
02 ANK ... | |||||
02 A1 OCCURS 20 TIMES INDEXED BY A1-INDEX ... | |||||
03 B1 ... | |||||
03 B2 OCCURS 5 TIMES ... | |||||
04 C1 ... | |||||
88 MAX VALUE IS ... | |||||
04 C2 ... | |||||
05 D1 OCCURS 10 TIMES... | |||||
06 E1 ... | |||||
06 E2 ... | |||||
02 AHK... | |||||
02 A1 ПОВТОРЯЕТСЯ 20 РАЗ ИНДЕКСИРУЕТСЯ | |||||
A1-ИНДЕКС... | |||||
03 B1 ... | |||||
03 В2 ПОВТОРЯЕТСЯ 5 РАЗ ... | |||||
04 С1 ... | |||||
88 МАХ ЗНАЧЕНИЕ ... | |||||
04 С2 ... | |||||
05 D1 ПОВТОРЯЕТСЯ 10 РАЗ... | |||||
06 Е1 ... | |||||
06 Е2 ... |
Вызываемая программа | Вызывающая программа | |
NUM (НОМ) | NBR (ЧИС) | |
PCODE (РКОД) | PTYPE (РТИП) | |
COST (СТОИМ) | PRICE (ЦЕНА) |
PROGRAM-ID. (ПРОГРАММА.) | |
AUTHOR. (АВТОР.) | |
INSTALLATION. (ПРЕДПРИЯТИЕ.) | |
DATE-WRITTEN. (ДАТА-НАПИСАНИЯ.) | |
ДАТЕ-COMPILED. (ДАТА-ТРАНСЛЯЦИИ.) | |
SECURITY. (ПОЛНОМОЧИЯ.) | |
б) в разделе оборудования | |
SOURCE-COMPUTER. (ИСХОДНАЯ-МАШИНА.) | |
OBJECT-COMPUTER. (РАБОЧАЯ-МАШИНА.) | |
SPECIAL-NAMES. (СПЕЦИАЛЬНЫЕ-ИМЕНА.) | |
FILE-CONTROL. (УПРАВЛЕНИЕ-ФАЙЛАМИ.) | |
I-O-CONTROL. (УПРАВЛЕНИЕ-ВВОДОМ-ВЫВОДОМ.) |
IDENTIFICATION DIVISION. | ||
ENVIRONMENT DIVISION. | ||
DATA DIVISION. | ||
PROCEDURE DIVISION [USING {имя-данного-1} ...]. | ||
РАЗДЕЛ ИДЕНТИФИКАЦИИ. | ||
РАЗДЕЛ ОБОРУДОВАНИЯ. | ||
РАЗДЕЛ ДАННЫХ. | ||
РАЗДЕЛ ПРОЦЕДУР [ИСПОЛЬЗУЯ {имя-данного-1} ...]. |
Знак | Операция |
+ | сложение |
- | вычитание |
* | умножение |
/ | деление |
** | возведение в степень |
Знак | Операция | |
IS [NOT] GREATER THAN ([HE] БОЛЬШЕ) IS [NOT]> ([HE]>) | Больше чем или не больше чем | |
IS NOT LESS THAN ([HE] МЕНЬШЕ) IS [NOT]< ([HE]td> | Меньше чем или не меньше чем | |
IS NOT EQUAL TO ([HE] РАВНО) IS NOT= [HE]=) | Равно или не равно | |
IS GREATER THAN OR EQUAL TO (БОЛЬШЕ ИЛИ РАВНО) IS > = (> =) | Больше чем или равно | |
IS LESS THAN OR EQUAL TO (МЕНЬШЕ ИЛИ РАВНО) IS < = (< = ) | Меньше чем или равно |
Литера | Значение |
> | больше |
< | меньше |
= | равно |
Литера | Значение |
, | запятая |
: | двоеточие |
; | точка с запятой |
. | точка |
" | кавычки |
( | левая круглая скобка |
) | правая круглая скобка |
пробел | |
= | равно |
Литера | Значение |
пробел | |
0 | нуль |
+ | плюс |
- | минус |
CR (КР) | кредит |
DB (ДБ) | дебет |
Z(П) | подавление нулей |
* | защита чека |
, | запятая (десятичная точка) |
. | точка (десятичная точка) |
валютный знак | |
/ | дробная черта |
Литера | Значение |
0, 1, 2, 3, 4, 5, 6, 7, 8, 9 | цифра |
А, В, С, D, Е, F, G, Н, I, J, K, L, М, N, О, Р, Q, R, S, Т, U, V, W, Х, У, Z | буква прописная |
а, b, с, d, е, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z | буква строчная |
пробел | |
+ | плюс |
- | минус |
* | звездочка |
/ | дробная черта |
= | равно |
, | запятая (десятичная точка) |
; | точка с запятой |
. | точка (десятичная точка) |
" | кавычки |
( | левая круглая скобка |
) | правая круглая скобка |
> | больше |
< | меньше |
валютный знак | |
: | двоеточие |
Б, Г, Д, Ж, 3, И, Й, Л, П, У, Ф, Ц, Ч, Ш, Щ, Ы, Ь, Э, Ю, Я | буква прописная |
б, в, г, д, ж, з, и, й, к, л, м, н, п, т, ф, ц, ч, ш, щ, ы, ь, э, ю, я | буква строчная |
Литера | Значение |
+ | плюс |
- | минус |
* | звездочка |
/ | дробная черта |
= | равно |
, | запятая (десятичная точка) |
; | точка с запятой |
. | точка (десятичная точка) |
" | кавычки |
( | левая круглая скобка |
) | правая круглая скобка |
> | больше |
< | меньше |
валютный знак | |
: | двоеточие |
Данное | Класс | Категория |
Буквенный | Буквенная | |
Элементарное | Числовой | Числовая |
Буквенно-цифровой | Числовая редактируемая, буквенно-цифровая редактируемая, буквенно-цифровая | |
Неэлементарное (групповое) | Буквенно-цифровой | Буквенная, числовая, числовая редактируемая, буквенно-цифровая редактируемая, буквенно-цифровая |
IDENTIFICATION DIVISION. | |
PROGRAM-ID. имя-программы. | |
[AUTHOR. [статья-комментарий] ...] | |
[INSTALLATION. [статья-комментарий] …] | |
[DATE-WRITTEN. [статья-комментарий] ...] | |
[DATE-COMPILED. [статья-комментарий] ...] | |
[SECURITY. [статья-комментарий] ...] | |
РАЗДЕЛ ИДЕНТИФИКАЦИИ. | |
ПРОГРАММА. имя-программы. | |
[АВТОР. [статья-комментарий] ...] | |
[ПРЕДПРИЯТИЕ. [статья-комментарий] ...] | |
[ДАТА-НАПИСАНИЯ. [статья-комментарий] ...] | |
[ДАТА-ТРАНСЛЯЦИИ. [статья-комментарий] ...] | |
[ПОЛНОМОЧИЯ. [статья-комментарий] ...] |
ENVIRONMENT DIVISION. | |
[CONFIGURATION SECTION. | |
[SOURCE-COMPUTER. [статья-исходной-машины]] | |
[OBJECT-COMPUTER. [статья-объектной-машины]] | |
[SPECIAL-NAMES. [статья-специальных-имен]]] | |
[INPUT-OUTPUT SECTION. | |
FILE-CONTROL. {статья-управления-файлом} ... | |
[I-O-CONTROL. [статья-управления-вводом-выводом]]] | |
РАЗДЕЛ ОБОРУДОВАНИЯ. | |
[СЕКЦИЯ КОНФИГУРАЦИИ. | |
[ИСХОДНАЯ-МАШИНА. [статья-исходной-машины]] | |
[РАБОЧАЯ-МАШИНА. [статья-объектной-машины]] | |
[СПЕЦИАЛЬНЫЕ-ИМЕНА. [статья-специальных-имен]]] | |
[СЕКЦИЯ ВВОДА-ВЫВОДА. | |
УПРАВЛЕНИЕ-ФАЙЛАМИ. {статья-управления-файлом} ... | |
[УПРАВЛЕНИЕ-ВВОДОМ-ВЫВОДОМ. [статья-управления-вводом-выводом]]] |
ACCEPT | (ПРИНЯТЬ) | |
(1) | ADD | (СЛОЖИТЬ) |
ALTER | (ИЗМЕНИТЬ) | |
(7) | CALL | (ВЫЗВАТЬ) |
CANCEL | (ОСВОБОДИТЬ) | |
CLOSE | (ЗАКРЫТЬ) | |
(1) | COMPUTE | (ВЫЧИСЛИТЬ) |
CONTINUE | (ПРОДОЛЖИТЬ) | |
(2) | DELETE | (УДАЛИТЬ) |
DISABLE | (ЗАПРЕТИТЬ) | |
DISPLAY | (ВЫДАТЬ) | |
(1) | DIVIDE | (РАЗДЕЛИТЬ) |
ENABLE | (РАЗРЕШИТЬ) | |
EXIT | (ВЫЙТИ) | |
GENERATE | (ГЕНЕРИРОВАТЬ) | |
GO TO | (ПЕРЕЙТИ) | |
INITIALIZE | (ИНИЦИИРОВАТЬ) | |
INITIATE | (НАЧАТЬ) | |
INSPECT | (ПРОСМОТРЕТЬ) | |
MERGE | (СЛИТЬ) | |
MOVE | (ПОМЕСТИТЬ) | |
(1) | MULTIPLY | (УМНОЖИТЬ) |
OPEN | (ОТКРЫТЬ) | |
PERFORM | (ВЫПОЛНИТЬ) | |
PURGE | (ОЧИСТИТЬ) | |
(5) | READ | (ЧИТАТЬ) |
(4) | RECEIVE | (ПОЛУЧИТЬ) |
RELEASE | (ПЕРЕДАТЬ) | |
(2) | REWRITE | (ОБНОВИТЬ) |
SEND | (ПОСЛАТЬ) | |
SET | (УСТАНОВИТЬ) | |
SORT | (СОРТИРОВАТЬ) | |
(2) | START | (ПОДВЕСТИ) |
STOP | (ОСТАНОВИТЬ) | |
(3) | STRING | (СОБРАТЬ) |
(1) | SUBTRACT | (ОТНЯТЬ) |
SUPPRESS | (ПОДАВИТЬ) | |
TERMINATE | (ЗАКОНЧИТЬ) | |
(3) | UNSTRING | (РАЗОБРАТЬ) |
(6) | WRITE | (ПИСАТЬ) |
Уровень 2 ядра предоставляет полные возможности параграфа SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА) и статьи описания данных. В разделе процедур уровень 2 предоставляет полные возможности операторов ACCEPT (ПРИНЯТЬ), ADD (СЛОЖИТЬ), ALTER (ИЗМЕНИТЬ), COMPUTE (ВЫЧИСЛИТЬ), DISPLAY (ВЫДАТЬ), DIVIDE (РАЗДЕЛИТЬ), EVALUATE (ОЦЕНИТЬ), IF (ЕСЛИ), INITIALIZE (ИНИЦИИРОВАТЬ), INSPECT (ПРОСМОТРЕТЬ), MOVE (ПОМЕСТИТЬ), MULTIPLY (УМНОЖИТЬ), PERFORM (ВЫПОЛНИТЬ), SEARCH (ИСКАТЬ), SET (УСТАНОВИТЬ), STRING (СОБРАТЬ), SUBTRACT (ОТНЯТЬ), UNSTRING (РАЗОБРАТЬ). Уровень 2 ядра предоставляет полные возможности уточнений, правил образования имен данных и стандартных констант. Уровень 2 ядра предоставляет возможности доступа к элементам таблиц до семи измерений. |
Литера Кобола двоеточие (:) допустима на уровне 2. |
На уровне 1 могут быть использованы следующие стандартные константы: ZERO (НУЛЬ), ZEROS (НУЛИ), ZEROES (НУЛИ), SPACE (ПРОБЕЛ), SPACES (ПРОБЕЛЫ), HIGH-VALUE (НАИБОЛЬШЕЕ-ЗНАЧЕНИЕ), HIGH-VALUES (НАИБОЛЬШИЕ-ЗНАЧЕНИЯ), LOW-VALUE (НАИМЕНЬШЕЕ-ЗНАЧЕНИЕ), LOW-VALUES (НАИМЕНЬШИЕ-ЗНАЧЕНИЯ), QUOTE (КАВЫЧКА) и QUOTES (КАВЫЧКИ). |
1.3.4. Индексы |
1.3.6. Формат представления |
[заголовок-конца-программы] |
(2) В последовательности программ все отдельно компилируемые программы должны быть ограничены заголовком конца программы за исключением последней программы в последовательности. 2.4.1. Назначение Заголовок конца программы идентифицирует конец именованной исходной Кобол-программы. 2.4.2. Общий формат END PROGRAM имя-программы. КОНЕЦ ПРОГРАММЫ имя-программы. 2.4.3. Синтаксические правила (1) Имя-программы должно формироваться по правилам образования слов, определенных пользователем. (2) Имя-программы должно быть идентично имени программы, названному в предшествующем параграфе PROGRAM-ID (ПРОГРАММА) (п.3.3 настоящей части). 2.4.4. Общие правила (1) Заголовок конца программы идентифицирует конец указанной исходной Кобол-программы. (2) Следующим оператором после заголовка конца программы может быть только заголовок раздела идентификации программы, компилируемой отдельно от программы, ограниченной заголовком конца программы. |
3.4. Параграф DATE-COMPILED (ДАТА-ТРАНСЛЯЦИИ) 3.4.1. Назначение Параграф DATE-COMPILED (ДАТА-ТРАНСЛЯЦИИ) обеспечивает включение даты компиляции в выдачи раздела идентификации исходной программы. Параграф DATE-COMPILED (ДАТА-ТРАНСЛЯЦИИ) рассматривается в настоящем стандарте как устаревший элемент и будет удален в следующей редакции стандарта. 3.4.2. Общий формат DATE-COMPILED. [статья-комментарий] ... ДАТА-ТРАНСЛЯЦИИ. [статья-комментарий] ... 3.4.3. Синтаксическое правило (1) Статья-комментарий может представлять любую комбинацию литер из допустимого набора литер. Перенос слов статьи-комментария с помощью дефиса в поле индикатора не разрешается, однако статья-комментарий может занимать более одной строки. 3.4.4. Общее правило (1) Имя параграфа DATE-COMPILED (ДАТА-ТРАНСЛЯЦИИ) вызывает во время компиляции программы включение текущей даты в выдаваемый текст. Если параграф DATE-COMPILED (ДАТА-ТРАНСЛЯЦИИ) указан, он заменяется во время компиляции параграфом следующей формы: DATE-COMPILED. текущая-дата. ДАТА-ТРАНСЛЯЦИИ. текущая-дата. |
Секция конфигурации располагается в разделе оборудования исходной программы. Секция конфигурации связана с характеристиками исходной машины и рабочей машины. В этой секции также обеспечиваются средства спецификации валютного знака; выбора символа для десятичной точки; установления соответствия между мнемоническими именами, задаваемыми пользователем, и именами реализации; установления соответствия имени алфавита набору литер и (или) основной последовательности; установление соответствия имени класса набору литер. Секция конфигурации не обязательна в разделе оборудования исходной Кобол-программы. |
Параграф SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА) обеспечивает средства спецификации валютного знака; выбора символа для десятичной точки; установления соответствия между мнемоническими именами, задаваемыми пользователем, и именами реализации; установления соответствия имени алфавита набору литер или основной последовательности; установления соответствия имени класса набору литер. |
(3) Во фразе имя-алфавита одно и то же значение литерала может указываться только один раз. (4) Если во фразе имя-алфавита указаны литералы, то: а) числовые литералы должны быть целыми без знака и иметь значения от 1 до целого, равного количеству литер во внутреннем наборе литер; б) нечисловые литералы, указанные после слов THROUGH (ПО) и ALSO (ТАКЖЕ), должны состоять из одной литеры. (5) Литерал-1, литерал-2, литерал-3, литерал-4 и литерал-5 не должны совпадать по написанию со стандартными константами, являющимися символическими литерами. (6) Слова THROUGH и THRU эквивалентны. (7) Во фразе SYMBOLIC CHARACTERS (СИМВОЛИЧЕСКАЯ ЛИТЕРА) одна и та же литера может встречаться только один раз. (8) Соответствие между символической-литерой-1 и целым-1 определяется позицией во фразе SYMBOLIC CHARACTERS (СИМВОЛИЧЕСКАЯ ЛИТЕРА). Первая символическая литера-1 соответствует первому целому-1, вторая - второму и так далее. (9) Между экземплярами символического-имени-1 и экземплярами целого-1 должно быть взаимно однозначное соответствие. (10) Порядковая позиция, определяемая целым-1, должна существовать во внутреннем наборе кодов литер. Если указана фраза IN (ИЗ), то эта порядковая позиция должна существовать в наборе литер, определяемом именем-алфавита-2. |
г) если фраза имя-алфавита содержит литералы, соответствующее имя-алфавита не может упоминаться во фразе CODE-SET (АЛФАВИТ) (ч.7, п.3.4), при этом основная последовательность определяется следующим образом: значение каждого числового литерала определяет порядковый номер литеры во внутреннем наборе литер; это значение не должно превосходить количество литер во внутреннем наборе литер; значение каждого нечислового литерала определяет явную литеру во внутреннем наборе литер. Если нечисловой литерал содержит несколько литер, каждая его литера, начиная с самой левой, ставится в соответствие последовательным возрастающим позициям в определяемой основной последовательности; порядок, в котором литералы появляются во фразе имя-алфавита, точно определяет используемую основную последовательность (в возрастающем порядке); не указанные явно литералами литеры внутренней основной последовательности занимают позиции в основной последовательности, следующие за явно заданными во фразе имя-алфавита литерами. Относительный порядок литер, не указанных в определяемой основной последовательности, соответствует внутренней основной последовательности; |
если задана фраза THROUGH (ПО), последовательность литер внутреннего набора, начиная от литеры, заданной значением литерала-1, и кончая литерой, заданной значением литерала-2, занимает последовательные позиции определяемой основной последовательности. Кроме того, последовательность литер, заданных фразой THRU (ПО), может задавать литеры внутреннего набора либо в возрастающем, либо в убывающем порядке; |
если указана фраза ALSO (ТАКЖЕ), литеры внутреннего набора, заданные значением литерала-1, литерала-3, литерала-4... , ставятся в соответствие одной и той же позиции определяемой основной последовательности или набора кодов литер, используемых для представления данных, и если имя-алфавита-1 используется во фразе SYMBOLIC CHARACTERS (СИМВОЛИЧЕСКАЯ ЛИТЕРА), то только литерал-1 используется для представления литеры во внутреннем наборе литер. |
(5) Литера, которая занимает самую старшую позицию в задаваемой программной основной последовательности, ставится в соответствие стандартной константе |
HIGH-VALUE (НАИБОЛЬШЕЕ-ЗНАЧЕНИЕ), кроме случая, когда эта последняя стандартная константа используется в качестве литерала в параграфе SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА). |
Если таких литер несколько, то стандартной константе HIGH-VALUE (НАИБОЛЬШЕЕ-ЗНАЧЕНИЕ) ставится в соответствие литера, указанная последней из них. |
(6) Литера, которая занимает самую младшую позицию в задаваемой программной основной последовательности, ставится в соответствие стандартной константе LOW-VALUE (НАИМЕНЬШЕЕ-ЗНАЧЕНИЕ), кроме случая, когда эта стандартная константа используется в качестве литерала в параграфе SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА). Если таких литер несколько, стандартной константе LOW-VALUE (НАИМЕНЬШЕЕ-ЗНАЧЕНИЕ) ставится в соответствие литера, указанная первой из них. (7) Стандартные константы HIGH-VALUE (НАИБОЛЬШЕЕ-ЗНАЧЕНИЕ) и LOW-VALUE (НАИМЕНЬШЕЕ-ЗНАЧЕНИЕ), определенные как литералы в параграфе SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА), соответствуют литерам, имеющим наибольшую и наименьшую позиции во внутренней основной последовательности. (8) Если не указана фраза IN (ИЗ), то символическая-литера-1 представляет литеру, чья порядковая позиция во внутреннем наборе определяется целым-1. Если фраза IN (ИЗ) указана, то целое-1 определяет порядковую позицию литеры, находящейся в наборе литер, названном именем-алфавита-2. (9) Внутреннее представление символической-литеры-1 является внутренним представлением литеры внутреннего набора. |
(4) Указание имени-алфавита-1 обеспечивает средства присвоения некоторого имени заданному набору кодов литер и (или) основной последовательности. Если указанное имя-алфавита-1 используется во фразе PROGRAM COLLATING SEQUENCE (ПРОГРАММНЫЙ АЛФАВИТ) (см. п.4.4 настоящей части) или во фразе COLLATING SEQUENCE (АЛФАВИТ) оператора SORT (СОРТИРОВАТЬ) или MERGE (СЛИТЬ) (ч.11, пп.4.1, 4.4), фраза имя-алфавита задает основную последовательность. Если имя-алфавита-1 используется во фразе CODE-SET (АЛФАВИТ) в описании файла (ч.7, п.3.4), то фраза ALPHABET (имя-алфавита) определяет набор кодов литер: |
(2) Формат 3 используется для имени условия. Каждое имя условия определяется отдельной статьей с номером уровня 88. В формате 3 указывается имя-условия, а также одно значение, несколько значений или диапазон значений, связанных с именем-условия. Статьи имени условия для конкретной условной переменной должны следовать за статьей, описывающей данное, к которому относится имя-условия. Имя-условия может относиться к любому элементарному или групповому данному, за исключением другого имени условия, индексного данного, данного с номером уровня 66, или группы, содержащей данные с описанием, включающим фразы JUSTIFIED (СДВИНУТО), SYNCHRONIZED (ВЫДЕЛЕНО) или фразу об использовании (кроме варианта USAGE IS DISPLAY (ДЛЯ ВЫДАЧИ)). |
Тем не менее, слово FILLER (ЗАПОЛНИТЕЛЬ) может использоваться в качестве условной переменной, что не требует явного обращения к данному, названному FILLER (ЗАПОЛНИТЕЛЬ) (а только к его значению). |
б) номер-уровня 66 определяет статью переименования и может использоваться только в формате 2 статьи описания данных (см. п.5.3 настоящей части); в) номер-уровня 88 присваивается статьям, которые определяют имена условий, связанных с условными переменными, и может быть использован только в формате 3 статьи описания данных (см. п.5.3 настоящей части). |
88 и в статьях описания данных, имеющих подчиненными переменно повторяющиеся данные. (2) Имя-данного-1 имя-данного-2 могут быть уточнены. (3) Имя-данного-2 должно быть либо именем статьи, содержащей фразу OCCURS (ПОВТОРЯЕТСЯ), либо именем статьи, подчиненной статье, содержащей фразу OCCURS (ПОВТОРЯЕТСЯ). (4) Имя-данного-2 должно быть указано без требуемого для него индексирования. (5) Если указаны целое-1 и целое-2, то целое-1 должно быть больше или равно 0, а целое-2 должно быть больше целого-1. (6) Имя-данного-1 должно быть описано как целое. (7) В формате 2 данное, определенное именем-данного-1, не должно располагаться в области памяти, занимаемой данным, статья описания которого содержит фразу OCCURS (ПОВТОРЯЕТСЯ). |
(10) За статьей описания данного, содержащей фразу OCCURS (ПОВТОРЯЕТСЯ) формата 2, могут следовать только подчиненные ей статьи описания данных. (11) Данное, определяемое именем-данного-2, не должно содержать фразу OCCURS (ПОВТОРЯЕТСЯ) за исключением случая, когда имя-данного-2 является субъектом статьи. (12) Между статьями описания данных, указанными именами данных в варианте KEY IS (ПО ВОЗРАСТАНИЮ/УБЫВАНИЮ КЛЮЧА), и предметом этой статьи не должно быть статьи, содержащей фразу OCCURS (ПОВТОРЯЕТСЯ). |
б) в формате 2 текущее значение данного, именуемого именем-данного-1, представляет число повторений. Формат 2 указывает, что предмет статьи имеет переменное число повторений. Значение целого-2 представляет максимальное число повторений, а значение целого-1 - минимальное. Это не означает, что размер предмета статьи переменный, а говорит лишь только о том, что переменно число его повторений. Всякий раз, когда ссылаются на предмет статьи или на подчиненное ему данное или на данное, которому подчиняется предмет статьи, значение данного, определенное именем-данного-1, должно принадлежать диапазону от целого-1 до целого-2. Значения данных, номера вхождений которых превышают значение имени-данного-1, не определены. (3) При обращении к групповому данному, содержащему данное, в статье описания которого содержится фраза OCCURS (ПОВТОРЯЕТСЯ) формата 2, используется только часть области таблицы, определяемая следующим образом: |
а) если данное, определяемое именем-данного-1, не входит в группу, то используется только часть области таблицы, определяемая значением имени-данного-1 в момент начала обработки; |
б) если данное, определенное именем-данного-1, входит в группу и групповое данное пересылается, то в пересылке будет использоваться только часть области таблицы, определенная значением имени-данного-1 в момент начала работы. Если группа есть принимающее данное, то будет использоваться максимальная длина группы. |
(4) Вариант DESCENDING (ASCENDING) KEY (ПО УБЫВАНИЮ/ВОЗРАСТАНИЮ КЛЮЧА) указывает, что повторяющиеся данные упорядочены в возрастающем или убывающем порядке в соответствии со значениями имени-данного-2, имени-данного-3 и т.д. Возрастающий или убывающий порядок определяется в соответствии с правилами сравнения операндов (пп.6.3.1.1.1 и 6.3.1.1.2 настоящей части). Имена-данных перечисляются в порядке уменьшения значимости. |
(5) Если формат 2 используется в статье описания записи и соответствующее описание файла или описание сортируемого-сливаемого файла содержит вариант VARYING (ПЕРЕМЕННОЕ ЧИСЛО) во фразе RECORD (В ЗАПИСИ), то запись имеет переменную длину. Если вариант DEPENDING ON (В ЗАВИСИМОСТИ ОТ) во фразе RECORD (В ЗАПИСИ) не указан, то значение данного, определяемого именем-данного-1 во фразе OCCURS (ПОВТОРЯЕТСЯ), должно быть установлено на число записываемых повторений до выполнения любого из операторов RELEASE (ПЕРЕДАТЬ), REWRITE (ОБНОВИТЬ) или WRITE (ПИСАТЬ). |
Категория | Тип редактирования |
Буквенная | Никакой |
Числовая | Никакой |
Буквенно-цифровая | Никакой |
Буквенно-цифровая редактируемая | Простая вставка 0, В и / |
Числовая редактируемая | Все типы с учетом правила 3 |
Редактирующий символ в строке-литер шаблона | Литеры вставки, появляющиеся в редактируемом данном | |
Данное положительное или нуль | Данное отрицательное | |
+ | + | - |
- | Пробел | - |
CR (КP) | 2 пробела | CR (КP) |
DB (ДБ) | То же | DB (ДБ) |
Редактирующий символ в строке-литер шаблона | Литеры вставки, появляющиеся в редактируемом данном | |
Данное положительно или нуль | Данное отрицательно | |
+ | + | - |
- | Пробел | - |
Второй символ | Допустимость предшествования первого символа | |||||||||||||||||||||
Символы фиксированной вставки | Символы плавающей вставки | Другие символы | ||||||||||||||||||||
В | 0 | / | , | . | В. зн | В. зн | В. зн | 9 | А X | S (З) | V (Т) | P (М) | P (М) | |||||||||
Символы фиксированной вставки | В | x | х | x | x | x | x | - | - | x | x | x | x | x | x | x | x | x | - | x | - | x |
0 | x | x | x | x | x | x | - | - | x | x | x | x | x | x | x | x | x | - | x | - | x | |
/ | x | x | x | x | x | x | - | - | x | x | x | x | x | x | x | x | x | - | x | - | x | |
, | x | х | x | x | x | x | - | - | x | x | x | x | x | x | x | x | - | - | x | - | x | |
. | x | x | x | x | - | x | - | - | x | x | - | x | - | x | - | x | - | - | - | - | - | |
- | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | ||
x | x | x | x | x | - | - | - | x | x | x | - | - | x | x | x | - | - | x | x | x | ||
x | x | х | x | х | - | - | - | x | x | x | - | - | x | х | х | - | - | x | x | x | ||
В. зн. | - | - | - | - | - | x | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | |
Символы плавающей вставки | x | x | x | x | - | х | - | - | x | x | - | - | - | - | - | - | - | - | - | - | - | |
x | x | x | x | x | x | - | - | x | x | x | - | - | - | - | - | - | - | x | - | x | ||
x | x | x | x | - | - | - | - | x | - | - | x | - | - | - | - | - | - | - | - | - | ||
x | x | x | х | x | - | - | - | x | - | - | x | x | - | - | - | - | - | x | - | x | ||
В. зн. | x | x | х | x | - | x | - | - | - | - | - | - | - | x | - | - | - | - | - | - | - | |
В. зн. | x | x | x | x | x | x | - | - | - | - | - | - | - | x | x | - | - | - | x | - | x | |
Другие символы | 9 | x | x | x | x | x | x | - | - | x | x | - | x | - | x | - | x | х | х | х | - | x |
А X | x | x | x | - | - | - | - | - | - | - | - | - | - | - | - | x | х | - | - | - | - | |
S (З) | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | |
V (T) | x | x | х | x | - | х | - | - | x | x | - | x | - | x | - | x | - | x | - | x | - | |
Р (М) | x | x | x | x | - | x | - | - | x | x | - | x | - | x | - | x | - | x | - | x | - | |
Р (М) | - | - | - | - | - | x | - | - | x | - | - | - | - | - | - | - | - | x | x | - | x |
(7) Имя-данного-2 не должно уточняться, даже если оно неоднозначно, так как в этом случае благодаря расположению фразы REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ) в исходной программе двусмысленности не будет. |
Для уровня 2 ядра имя-данного-2 может быть подчинено статье, содержащей фразу REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ). |
5.11. Фраза RENAMES (ПЕРЕИМЕНОВЫВАЕТ) 5.11.1. Назначение Фраза RENAMES (ПЕРЕИМЕНОВЫВАЕТ) позволяет изменять полностью или частично группирование элементарных данных. 5.11.2. Общий формат В приведенном выше формате номер-уровня 66 и имя-данного-1 не являются частью фразы RENAMES (ПЕРЕИМЕНОВЫВАЕТ) и указаны для наглядности. 5.11.3. Синтаксические правила (1) Может быть указано любое число статей RENAMES (ПЕРЕИМЕНОВЫВАЕТ) для логической записи. (2) Все статьи переименования, связанные с данной логической записью, должны следовать сразу за последней из входящих в нее статей описания данных. (3) Имя-данного-1 не может применяться как уточнитель и может уточняться только именами статей уровня 01, FD (ОФ), CD (OK) или SD (ОС). Статьи описания имени-данного-2 или имени-данного-3 не могут содержать фразу OCCURS (ПОВТОРЯЕТСЯ) или подчиняться данному, статья описания которого содержит фразу OCCURS (ПОВТОРЯЕТСЯ). |
(4) Имя-данного-2 и имя-данного-3 должны быть именами элементарных данных или групп данных в соответствующей логической записи и не могут быть именами одного и того же данного. Статья уровня 66 не может переименовывать другую статью того же уровня, а также статьи уровня 77, 88 или 01. (5) Имя-данного-2 и имя-данного-3 могут уточняться. (6) Данные внутри области, определяемой именем-данного-2 (и именем-данного-3, если последнее задано), не должны иметь переменный размер. (7) Начало области, описанной именем-данного-2, должно предшествовать началу области, описанной именем-данного-3, и конец области, описанной именем-данного-3, должен логически следовать за концом области, описанной именем-данного-2. В то же время имя-данного-3 не может входить в группу, определяемую именем-данного-2. 5.11.4. Общие правила (1) Если имя-данного-3 задано, то имя-данного-1 является именем группы, которая содержит все элементарные данные, начиная от имени-данного-2 (если имя-данного-2 является элементарным данным) или первого элементарного данного в имени-данного-2 (если имя-данного-2 является именем группы) и заканчивая именем-данного-3 (если имя-данного-3 является элементарным данным) или последним элементарным данным в имени-данного-3 (если имя-данного-3 относится к групповому данному). (2) Если имя-данного-3 не указано, то все свойства данного, определенного именем-данного-2, становятся свойствами данного, определенного именем-данного-1. |
5.15.5. Правила для имен-условий (1) В статье имени условия фраза VALUE (ЗНАЧЕНИЕ) обязательна. Фраза VALUE (ЗНАЧЕНИЕ) и само имя-условия являются единственными допустимыми фразами в такой статье. (2) Формат 2 может использоваться только в связи с именами условий (см. ч.4, п.4.2.2.1.1.1). При использовании фразы THRU (ПО) литерал-2 должен быть меньше, чем литерал-3. |
6.2. Арифметические выражения 6.2.1. Определение арифметического выражения Арифметическим выражением может быть идентификатор числового элементарного данного; числовой литерал; стандартная константа ZERO (ZEROS, ZEROES) (НУЛЬ (НУЛИ)), а также идентификаторы, стандартные константы, литералы и выражения, разделенные знаками арифметических операций, либо арифметическое выражение, заключенное в скобки. Любому арифметическому выражению может предшествовать унарная операция. Допустимые комбинации переменных, числовых литералов, скобок и знаков арифметических операций приведены в п.6.2.3 настоящей части. Все идентификаторы и литералы, встречающиеся в арифметическом выражении, должны представлять либо числовые элементарные данные, либо числовые литералы. 6.2.2. Знаки арифметических операций Имеется пять знаков бинарных арифметических операций и два знака унарных арифметических операций, которые могут быть использованы в арифметических выражениях. Они изображаются специальными литерами, с обеих сторон которых должен стоять пробел. Ниже приведены знаки операций и их смысл. | ||||||
Знак бинарной операции | Смысл операции | |||||
+ | Сложение | |||||
- | Вычитание | |||||
* | Умножение | |||||
/ | Деление | |||||
** | Возведение в степень | |||||
Знак унарной операции | Смысл операции | |||||
+ | Соответствует умножению на числовой литерал +1 | |||||
- | Соответствует умножению на числовой литерал -1 | |||||
6.2.3. Правила вычисления арифметических выражений Арифметические выражения вычисляются по таким правилам: (1) для определения порядка выполнения указанных в арифметических выражениях действий могут применяться скобки. Выражения внутри скобок вычисляются первыми; внутри вложенных скобок вычисление происходит, начиная от самых внутренних скобок к внешним. Если скобки не используются или выражения, заключенные в скобки, находятся на одном и том же уровне вложенности, применяется следующий порядок старшинства выполнения операций: первая по старшинству операция - унарный плюс или минус; вторая - возведение в степень, третья - умножение или деление, четвертая - сложение или вычитание; (2) скобки используются в следующих случаях: для исключения логической неоднозначности, при появлении последовательных операций одного и того же иерархического уровня или для изменения последовательности выполнения операций, установленной порядком старшинства. Если последовательность выполнения не определена скобками, порядок выполнения последовательных операций одного и того же иерархического уровня определен слева направо; (3) ниже указаны способы, которыми идентификаторы, литералы, операции и скобки могут образовывать арифметическое выражение. | ||||||
Первый элемент арифметического выражения | Второй элемент арифметического выражения | |||||
Идентификатор или литерал | + - * / ** | Унарный плюс или минус | ( | ) | ||
Идентификатор или литерал | - | Р | - | - | Р | |
* / ** + - | P | - | Р | Р | - | |
Унарный плюс или минус | Р | - | - | Р | - | |
( | Р | - | Р | Р | - | |
) | - | Р | - | - | Р | |
Примечание. Буква Р представляет допустимую пару элементов, знак "-" - недопустимую; (4) арифметическое выражение может начинаться только с идентификатора, литерала или символов (, +, - и может заканчиваться только ), идентификатором или литералом. Между открывающими и закрывающими скобками в арифметическом выражении должно быть взаимно однозначное соответствие, так что каждая открывающая скобка должна быть слева от соответствующей ей закрывающей скобки. Если первая операция в арифметическом выражении унарная и это арифметическое выражение непосредственно следует за идентификатором или другим арифметическим выражением, ей должна непосредственно предшествовать левая скобка; (5) вычисление экспоненты в арифметическом выражении производится по следующим правилам: а) если значение выражения, которое должно быть возведено в степень, равно нулю, степень должна иметь значение большее нуля. В противном случае возникает условие переполнения (п.6.4.2 настоящей части); б) если в результате вычисления может получиться и положительное, и отрицательное число, в качестве результата возвращается положительное; в) если не существует действительного числа, которое может быть результатом вычисления, возникает условие переполнения; (6) арифметические выражения позволяют пользователю комбинировать арифметические операции без ограничений на совокупность операндов и (или) получаемых данных. В каждой реализации указываются способы, которые используются в обработке арифметических выражений. |
Значение | Знак операции отношения | |
Больше или не больше | IS [NOT] GREATER THAN | [HE] БОЛЬШЕ |
IS [NOT] > | [HE] > | |
Меньше или не меньше | IS [NOT] LESS THAN | [HE] МЕНЬШЕ |
IS [NOT] < | [HE] < | |
Равно или не равно | IS [NOT] EQUAL TO | [HE] РАВНО |
IS [NOT] = | [HE] = | |
Больше или равно | IS GREATER THAN OR EQUAL TO | БОЛЬШЕ ИЛИ РАВНО |
IS > = | > = | |
Меньше или равно | IS LESS THAN OR EQUAL TO | МЕНЬШЕ ИЛИ РАВНО |
IS < = | < = |
6.3.1.3. Условие имени-условия (условная переменная) Для условной переменной в условии имени-условия проверяется равенство ее значения одному из значений, связанных с имеием-условия. Общий формат для условия имени-условия: имя-условия-1 Если имя-условия связано с диапазоном или с несколькими диапазонами значений, то для условной переменной проверяется, попадает ли ее значение в диапазоны, включая концы диапазонов. Правила для сравнения условной переменной со значением имени-условия те же, что и для условий отношения. Результатом проверки является значение "истина", если одно из значений, соответствующих имени-условия-1, равно значению соответствующей условной переменной. |
6.3.1.5. Условие знака Условие знака определяет, является ли алгебраическое значение арифметического выражения меньшим нуля, большим нуля или равным нулю. Общий формат для условия знака: NOT (HE) (если оно используется) и следующее за ним ключевое слово определяют одно условие знака, которое задает алгебраическую проверку для определения значения истинности; например, NOT ZERO (HE НУЛЬ) является проверкой истинности на ненулевое (положительное или отрицательное) значение. Операнд положителен, если его значение больше нуля, отрицателен, если его значение меньше нуля, и равен нулю, если его значение равно нулю. Арифметическое выражение должно содержать по крайней мере один идентификатор. | |||||
6.3.2. Сложные условия Сложные условия образуются комбинацией простых условий и (или) сложных условий с помощью логических связок (логических операций AND (И) и OR (ИЛИ)) или отрицания этих условий с помощью логического отрицания (логическая операция NOT (HE)). Значением истинности сложного условия, заключенного или незаключенного в скобки, является то значение, которое следует в результате выполнения установленных логических операций над отдельными значениями истинности простых условий. Знаки логических операций и их значения следующие: AND (И) - логическая конъюнкция; значение истинности будет "истина", если оба соединенных ею условия истинны; "ложь", если одно или оба соединенных условия ложны; OR (ИЛИ) - логическая дизъюнкция; значение истинности есть "истина", если одно или оба соединенных этой связкой условий истинны; "ложь", если оба эти условия ложны; NOT (HE) - логическое отрицание или инверсия значения истинности; значение истинности есть "истина", если соответствующее условие ложно; "ложь", если это условие истинно. До и после знаков логических операций должен стоять пробел. | |||||
6.3.2.1. Отрицание условий Отрицание условия производится с помощью логической операции NOT (HE), которая отрицает значение истинности условия, к которому применяется. Таким образом, значением истинности отрицания условия будет "истина" тогда и только тогда, когда значение истинности исходного условия "ложь"; значением истинности отрицания условия будет "ложь" тогда и только тогда, когда значение истинности исходного условия "истина"; заключение отрицания условия в скобки не меняет его значение истинности. | |||||
Общий формат отрицания условия: NOT условие-1 НЕ условие-1 | |||||
6.3.2.2. Комбинированные условия | |||||
Комбинированные условия получаются посредством связывания условий одним из знаков логических | |||||
операций AND (И) или OR (ИЛИ). Общий формат комбинированных условий: | |||||
6.3.2.3. Старшинство логических операций и использование скобок При отсутствии парных скобок в сложном условии старшинство (т.е. степень связывания) логических операций задает условия, к которым применяются заданные логические операции, и предполагает эквивалентное связывание скобками. Порядок старшинства следующий: NOT (HE), AND (И), OR (ИЛИ). Таким образом условие вида "условие-1 OR NOT условие-2 AND условие-3" ("условие-1 ИЛИ НЕ условие-2 И условие-3") эквивалентно условию "условие-1 OR ((NOT условие-2) AND условие-3)" ("условие-1 ИЛИ ((НЕ условие-2) И условие-3)"). Когда в сложном условии используются скобки, они определяют связывание условий со знаками логических операций. Таким образом, скобки могут использоваться для изменения обычного старшинства операций, как указано выше. Например, приведенное выше сложное условие будет иметь другой смысл, если его задать в виде (условие-1 OR (NOT условие-2)) AND условие-3 ((условие-1 ИЛИ (НЕ условие-2)) И условие-3) (п.6.3.4 настоящей части). В табл.1 приведены способы комбинирования условий и логических операций и правила употребления скобок. Между открывающими и закрывающими скобками должно быть соответствие. Как видно из табл.1, пара элементов OR NOT (ИЛИ НЕ) является допустимой, в то время как пара NOT OR (HE ИЛИ) недопустима; пара NOT ( (НЕ ( ) допустима, a NOT NOT (HE НЕ) недопустима. | |||||
6.3.3. Сокращенные комбинированные условия отношений Если простые условия отношения или их отрицания комбинируются с помощью логических связок в последовательности, при которой условия отношения содержат совпадающие с предыдущим субъект или субъект и знак операции отношения и при этом не используются скобки, то любое условие отношения, за исключением первого, может быть сокращено следующим образом: (1) может быть опущен субъект условия отношения; (2) могут быть опущены субъект и знак операции отношения в условии отношения. Таблица 1 | |||||
Элемент | Может располагаться в условном выражении | Последовательность элементов слева направо | |||
первым | последним | Элементу, если он не первый, может непосредственно предшествовать только | За элементом, если он не последний, может непосредственно следовать только | ||
Простое- условие | Да | Да | OR (ИЛИ), NOT (HE) AND (И), ( | OR (ИЛИ), AND (И), ) | |
OR (ИЛИ) AND (И) | Нет | Нет | Простое-условие, ) | Простое-условие, NOT (HE), ( | |
NOT (HE) | Да | Нет | OR (ИЛИ), AND (И), ( | Простое-условие, ( | |
( | Да | Нет | OR (ИЛИ), NOT (HE) AND (И), ( | Простое-условие, NOT (HE), ( | |
) | Нет | Да | Простое-условие, ) | OR (ИЛИ), AND (И), ) | |
Формат для сокращенного условия Внутри последовательности условий отношения могут использоваться оба вида приведенных выше сокращений. Действие такого сокращенного условия такое же, как если бы опущенные части были взяты из ближайшего предшествующего полного условия отношения внутри того же предложения. Соответствия сокращенных и полных условий приведены ниже. Вставка опущенного субъекта и (или) операции отношения завершается, как только в сложном условии встречается полное простое условие. Интерпретация, применяемая к слову NOT (HE), в сокращенном комбинированном условии отношения, следующая: (1) если за словом NOT (HE) непосредственно следует знак операции GREATER (БОЛЬШЕ) (>), LESS (МЕНЬШЕ) (td> | |||||
Сокращенное комбинированное условие отношения | Эквивалент | ||||
а>b AND NOT Б И НЕ<Г ИЛИ Д | ((a>b) AND (a NOTБ) И (А НЕ<Г)) ИЛИ (А НЕ<Д) | ||||
a NOT EQUAL b OR с A HE РАВНО Б ИЛИ Г | (a NOT EQUAL b) OR (a NOT EQUAL c) (A HE РАВНО Б) ИЛИ (А НЕ РАВНО Г) | ||||
NOT a=b OR с НЕ А=Б ИЛИ Г | (NOT (a = b)) OR (a = c) (HE (А=Б)) ИЛИ (А=Г) | ||||
NOT (a GREATER b OR <с) НЕ (А БОЛЬШЕ Б ИЛИ <Г) | NOT ((a GREATER b) OR (atd> | ||||
NOT (a NOT>b AND с AND NOT d) HE (А НЕ>Б И Г И НЕ Д) | NOT ((((a NOT>b) AND (a NOT>c)) AND (NOT (a NOT>d)))) HE ((((А НЕ>Б) И (А НЕ>Г)) И (НЕ (А НЕ>Д)))) | ||||
6.3.4. Порядок вычисления условий Скобки явные и неявные задают уровень вложенности в сложном условии. Два или более условий, связанных только знаком логической операции AND (И) или только знаком логической операции OR (ИЛИ) на одном и том же уровне вложенности, устанавливают один уровень иерархии в сложном условии. Таким образом, полное сложное условие может рассматриваться как вложенная структура уровней иерархии. При этом само сложное условие соответствует самому внешнему уровню иерархии. В этом контексте вычисление условий в полном сложном условии начинается слева и продолжается по следующим правилам, рекурсивно применимым, когда необходимо. (1) На одном уровне иерархии связанные составляющие условия вычисляются в порядке слева направо. Вычисление на данном иерархическом уровне завершается сразу, как только значение истинности для него становится определенным независимо от того, все ли связанные в рамках этого уровня составляющие условия вычислены. Значения арифметических выражений вычисляются тогда и только тогда, когда вычисляются содержащие их условия. Аналогично, отрицания условий вычисляются тогда и только тогда, когда необходимо вычислить сложное условие, которое они задают (см. п.6.2.3 настоящей части). Применение вышеперечисленных правил показано на рис.1-4. Эти схемы не определяют требования к реализации. |
(1) нарушение правил вычисления степени всегда приводит к завершению выполнения арифметической операции и всегда вызывает условие переполнения (см. п.6.2.3 настоящей части); |
Если при выполнении операторов ADD (СЛОЖИТЬ) и SUBTRACT (ОТНЯТЬ) с фразой CORRESPONDING (СООТВЕТСТВЕННО) хоть одна отдельная операция вырабатывает условие переполнения, повелительный-оператор фразы ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ) не выполняется до тех пор, пока не завершатся все сложения или вычитания. 6.4.3. Фраза CORRESPONDING (СООТВЕТСТВЕННО) Идентификаторы групповых данных для удобства изложения обозначим и . Два данных, одно из и одно из , определяются как соответствующие, если выполняются следующие условия: (1) данное в и данное в не определяются ключевым словом FILLER (ЗАПОЛНИТЕЛЬ) и имеют одно и то же имя и одни и те же уточнители вплоть до и , но исключая последние; (2) в случае использования оператора MOVE CORRESPONDING (ПОМЕСТИТЬ СООТВЕТСТВЕННО) по крайней мере одно из данных является элементарным и соответствующая пересылка допустима по правилам пересылки; оба данных являются элементарными числовыми данными в случае оператора ADD CORRESPONDING (СЛОЖИТЬ СООТВЕТСТВЕННО) или SUBTRACT CORRESPONDING (ОТНЯТЬ СООТВЕТСТВЕННО); (3) ни , ни не могут быть описаны с номером уровня 66, 77 или 88 или с фразой USAGE IS INDEX (ДЛЯ ИНДЕКСА); (4) данные, подчиненные или и содержащие в описании одну из фраз REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ), RENAMES (ПЕРЕИМЕНОВЫВАЕТ), OCCURS (ПОВТОРЯЕТСЯ), USAGE IS INDEX (ДЛЯ ИНДЕКСА), или подчиненные данным, описанным с такими фразами, не рассматриваются как соответствующие. Ссылки на и не могут модифицироваться; (5) имя каждого данного, удовлетворяющего вышеперечисленным условиям, должно быть однозначным, с учетом его подразумеваемого уточнения. |
Мнемоническое-имя-1 должно указываться в параграфе SPECIAL-NAMES (СЦЕЦИАЛЬНЫЕ-ИМЕНА) раздела оборудования и должно связываться с устройством оборудования. |
(6) при использовании формата 2 оператор ACCEPT (ПРИНЯТЬ) вызывает передачу запрашиваемой информации в данное, заданное идентификатором-2, согласно правилам оператора MOVE (ПОМЕСТИТЬ); дата, день, день недели и время автоматически обеспечиваются реализацией и не описываются в Кобол-программе. (7) дата содержит год столетия, месяц года и день месяца. Последовательность кодов, представляющая DATE (ДАТУ), такова, как если бы это данное было описано как элементарное целое числовое данное размером в шесть цифр, первые две из которых представляют год столетия, следующие две - месяц года, и последние две - число месяца. Например, дата 1 июля 1987 года изображается последовательностью цифр 870701. |
(8) день содержит год столетия и порядковый номер дня в году. Последовательность кодов, представляющая DAY (ДЕНЬ), такова, как если бы это данное было описано как элементарное целое числовое данное размером в пять цифр, первые две из которых (слева направо) представляют год столетия и последние три - порядковый номер дня в году. Например, 1 июля 1987 года представляется последовательностью цифр 87182. (9) Время содержит часы, минуты, секунды и сотые доли секунды. Время отсчитывается на 24-часовой основе, начиная от полуночи. Последовательность кодов, представляющих TIME (ВРЕМЯ), такова, как если бы это данное было описано как элементарное целое число без знака размером в 8 цифр, из которых первые две (слева направо) представляют часы, следующие две - минуты, следующие две - секунды и последние две - сотые доли секунды. Минимальное значение данного (ВРЕМЯ) равно 00000000, максимальное - 23595999. Если система не поддерживает возможности работы с долями секунды, те разряды, которые не могут быть определены, полагаются равными нулю. (10) DAY-OF-WEEK (ДЕНЬ-НЕДЕЛИ) состоит из одного данного, содержимое которого представляет день недели. DAY-OF-WEEK (ДЕНЬ-НЕДЕЛИ) доступен Кобол-программе, как если бы он был описан в ней как элементарное целое числовое данное без знака из одной цифры. В DAY-OF-WEEK (ДЕНЬ-НЕДЕЛИ) значением 1 задается понедельник, значением 2 вторник, ..., 7 - воскресенье. |
Формат 3 |
в) В формате 3 композиция операндов определяется отдельно для каждой пары соответствующих данных. (4) CORR (СООТВ) есть сокращение слова CORRESPONDING (СООТВЕТСТВЕННО). |
(3) Если используется формат 3, данные из группы, определенной идентификатором-1, складываются с соответствующими данными из группы, определенной идентификатором-2 и запоминаются в них. |
6.8. Оператор COMPUTE (ВЫЧИСЛИТЬ) 6.8.1. Назначение Оператор COMPUTE (ВЫЧИСЛИТЬ) присваивает одному или нескольким данным значение арифметического выражения. 6.8.2. Общий формат 6.8.3. Синтаксические правила (1) Идентификатор-1 должен ссылаться либо на элементарное числовое данное, либо на элементарное числовое редактируемое данное. 6.8.4. Общие правила (1) Арифметическое выражение, состоящее из единственного идентификатора или литерала, позволяет установить значение идентификатора-1 равным значению идентификатора или литерала. (2) Если для результата оператора указано несколько идентификаторов, предшествующих знаку равенства, то после вычисления значения арифметического выражения оно запоминается как новое значение каждого из данных, заданных посредством идентификатора-1. (3) Оператор COMPUTE (ВЫЧИСЛИТЬ) позволяет сочетать без ограничений на композиции операндов и результирующих данных арифметические операции, производимые арифметическими операторами ADD (СЛОЖИТЬ), SUBTRACT (ОТНЯТЬ), MULTIPLY (УМНОЖИТЬ) и DIVIDE (РАЗДЕЛИТЬ). Каждая реализация определяет приемы обработки арифметических выражений. (4) Дополнительные правила и объяснения, относящиеся к этому оператору, даются в соответствующих параграфах (см. ч.4, п.6.4.3; пп.6.4.1, 6.4.2, 6.4.4-6.4.6 настоящей части). |
(1) Мнемоническое-имя-1 связывается с устройством оборудования в параграфе SPECIAL-NAMES (СПЕЦИАЛЬНЫЕ-ИМЕНА) раздела оборудования. |
Формат 4 Формат 5 |
(4) Если используется формат 4, литерал-2 или значение идентификатора-2 делится на литерал-1, или значение идентификатора-2 и результат запоминается как значение идентификатора-3. Далее вычисляется остаток, и результат запоминается как значение идентификатора-4. Если идентификатор-4 индексирован, индексы вычисляются непосредственно перед присваиванием ему значения. (5) Если используется формат 5, литерал-1 или значение идентификатора-1 делится на литерал-2 или значение идентификатора-2. Далее выполнение деления продолжается как в вышеописанном формате 4. (6) Форматы 4 и 5 используются, когда требуется запомнить остаток операции деления как значение идентификатора-4. Остаток в Коболе определен как результат вычитания произведения частного (идентификатор-3) на делитель из делимого. Если идентификатор-3 определен как числовое редактируемое данное, для вычисления остатка используется промежуточное поле, содержащее неотредактированное частное. Если используется фраза ROUNDED (ОКРУГЛЯЯ), для вычисления остатка используется промежуточное поле, которое содержит неокругленное частное оператора DIVIDE (РАЗДЕЛИТЬ), но с отброшенными избыточными позициями. Промежуточное поле определяется как числовое, которое содержит столько же разрядов, такое же положение десятичной точки и то же наличие или отсутствие знака, что и частное (идентификатор-3). |
(7) Если используются форматы 4 и 5, точность остатка определяется вычислением, описанным выше. Если необходимо, при запоминании данного, представляемого идентификатором-4, производится выравнивание по десятичной точке и усечение (без округления). (8) При использовании в форматах 4 и 5 фразы ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ) имеют место следующие правила: а) если имеет место переполнение частного и указана фраза ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ), значение остатка не определено. При этом значения данных, определяемых идентификатором-3 и идентификатором-4, остаются неизменными; б) если имеет место переполнение остатка и указана фраза ON SIZE ERROR (ПРИ ПЕРЕПОЛНЕНИИ), значение данного, представленного идентификатором-4, не меняется. При наличии нескольких результатов пользователь должен сам определить, какая именно ситуация встретилась. |
(9) Дополнительные правила и объяснения, относящиеся к этому оператору, приводятся в соответствующих параграфах (см. ч.4, п.6.4.3. |
6.13. Оператор EVALUATE (ОЦЕНИТЬ) 6.13.1. Назначение Оператор EVALUATE (ОЦЕНИТЬ) описывает структуры со многими ветвлениями и соединениями. Он может вызывать оценку нескольких условий. Соответствующие действия объектной программы зависят от результатов этих оценок. 6.13.2. Общий формат |
6.13.3. Синтаксические правила (1) Каждый из операндов или слов TRUE (ИСТИНА) и FALSE (ЛОЖЬ), заданных перед первой фразой WHEN (КОГДА) оператора EVALUATE (ОЦЕНИТЬ), является субъектом выбора, а все вместе - множеством субъектов выбора. (2) Каждый из операндов или слов TRUE (ИСТИНА), FALSE (ЛОЖЬ), и ANY (ЛЮБОЕ), заданные во фразе WHEN (КОГДА) оператора EVALUATE (ОЦЕНИТЬ), рассматриваются от отдельности как объект выбора, а указанные вместе в одной фразе WHEN (КОГДА) - как множество объектов выбора. |
(3) Слова THROUGH и THRU эквивалентны. |
(4) Оба операнда одной фразы THROUGH (ПО) должны быть одного и того же класса. Связанные таким образом два операнда составляют один объект выбора. |
(5) Количество объектов выбора в каждом множестве объектов выбора должно быть равно количеству субъектов выбора. (6) Каждый объект выбора в множестве объектов выбора должен соответствовать субъекту выбора, имеющему ту же порядковую позицию во множестве субъектов выбора, согласно следующим правилам: |
а) идентификаторы, литералы или арифметические выражения, встречающиеся в объектах выбора, должны быть правильными операндами для сравнения с соответствующими операндами во множестве субъектов выбора (см. п.6.3.11 настоящей части); б) условие-1, условие-2 или слова TRUE (ИСТИНА) или FALSE (ЛОЖЬ), заданные как объекты выбора, должны соответствовать условным выражениям или словам TRUE (ИСТИНА) или FALSE (ЛОЖЬ) во множестве субъектов выбора; в) слово ANY (ЛЮБОЕ) может соответствовать субъекту выбора любого типа. |
6.13.4. Общие правила (1) Оператор EVALUATE (ОЦЕНИТЬ) действует так, как если бы все объекты и субъекты выбора были вычислены и получили бы числовые или нечисловые значения, или значения диапазонов числовых или нечисловых значений, или значений истинности. Эти значения определяются следующим образом: а) любому субъекту выбора, заданному идентификатором-1, идентификатором-2, и любому объекту выбора, заданному идентификатором-3, идентификатором-5, не содержащему фраз NOT (НЕ) или THRU (ПО), присваивается значение и класс данного, на который ссылается идентификатор; |
б) любому субъекту выбора, заданному литералом-1, литералом-2, и любому объекту выбора, заданному литералом-3, литералом-5 и не содержащему фраз NOT (HE) или THRU (ПО), присваивается значение и класс соответствующего литерала. Если литерал-2, литерал-5 является стандартной константой ZERO (НУЛЬ), ему присваивается класс соответствующего субъекта выбора; в) любому субъекту выбора, заданному арифметическим выражением выражение-1, выражение-2, и любому объекту выбора без фраз NOT (HE) и THRU (ПО), представленному арифметическим-выражением-1, арифметическим-выражением-3, присваивается числовое значение в соответствии с правилами вычисления арифметических выражений (см. п.6.2 настоящей части); |
г) любому субъекту выбора, в котором выражение-1, выражение-2 являются условными выражениями, и любому объекту выбора, в котором заданы условие-1, условие-2, присваивается значение истинности в соответствии с правилами вычисления условных выражений (см. п.6.3 настоящей части); д) любому субъекту выбора и любому объекту выбора, заданному словами TRUE (ИСТИНА) или FALSE (ЛОЖЬ), присваивается значение истинности. Значение истинности "истина" присваивается элементам, для которых задано слово TRUE (ИСТИНА) и значение истинности "ложь" присваивается элементам, для которых задано слово FALSE (ЛОЖЬ); е) любой объект выбора, заданный словом ANY (ЛЮБОЕ), далее не вычисляется; ж) если фраза THRU (ПО) задана для объекта выбора без фразы NOT (HE), диапазон значений включает все допустимые значения субъекта выбора, которые больше или равны первому операнду и меньше или равны второму в соответствии с правилами сравнения (см. п.6.3.1.1 настоящей части); з) если для объекта выбора задана фраза NOT (HE), значениями, соответствующими этому элементу, являются все допустимые значения субъекта выбора, не равные значению или не содержащиеся в диапазоне значений, которые соответствовали бы элементу, если бы не была задана фраза NOT (HE). |
(2) Далее выполнение оператора EVALUATE (ОЦЕНИТЬ) производится так, как если бы значения, присвоенные субъектам и объектам выбора, сравнивались, чтобы определить, удовлетворяют ли значения субъектов условиям, указанным соответствующими фразами WHEN (КОГДА). Это сравнение производится следующим образом: а) каждый объект выбора из множества объектов выбора первой фразы WHEN (КОГДА) сравнивается с субъектом выбора, имеющим тот же порядковый номер во множестве субъектов выбора. Чтобы сравнение было удовлетворено, должно выполняться одно из следующих условий: |
1) если сравниваемым элементам присваиваются числовые или нечисловые значения или диапазоны числовых или нечисловых значений, сравнение удовлетворяется, если в соответствии с правилами сравнения значение или одно из значений из диапазона, присвоенного объекту выбора, равно значению, присвоенному субъекту выбора (см. п.6.3.1.1 настоящей части); 2) если сравниваемым элементам присваиваются значения истинности, сравнение удовлетворяется, если сравниваемым элементам соответствуют одинаковые значения истинности; 3) если сравниваемый объект выбора задан словом ANY (ЛЮБОЕ), сравнение удовлетворяется всегда, независимо от значения субъекта выбора; |
б) если выше указанное сравнение удовлетворяется для каждого объекта выбора в сравниваемом множестве объектов выбора, фраза WHEN (КОГДА), содержащая это множество, считается удовлетворяющей множеству субъектов выбора; в) если вышеуказанное сравнение не удовлетворяется для одного или более объектов выбора из сравниваемого множества объектов, это множество не удовлетворяет множеству субъектов выбора; г) эти действия повторяются для множеств объектов выбора в том порядке, в котором эти множества задаются в исходной программе, до тех пор, пока либо встретится фраза WHEN (КОГДА), удовлетворяющая множеству субъектов выбора, либо будут исчерпаны все множества объектов выбора. (3) После завершения операции сравнения, выполнение оператора EVALUATE (ОЦЕНИТЬ) продолжается следующим образом: а) если выбрана некоторая фраза WHEN (КОГДА), начинается выполнение повелительного-оператора-1, следующего за этой фразой; б) если ни одна фраза WHEN (КОГДА) не выбрана и задана фраза WHEN OTHER (ИНАЧЕ), выполнение продолжается с повелительного-оператора-2; в) выполнение оператора EVALUATE (ОЦЕНИТЬ) завершается, когда выполнение достигает или конца повелительного-оператора-1 выбранной фразы WHEN (КОГДА), или конца повелительного-оператора-2, или если нет выбранной фразы WHEN (КОГДА), а фраза WHEN OTHER (ИНАЧЕ) не указана (см. ч.4, п.6.4.3). |
в) если оператор вложенный, то фразой ELSE (ИНАЧЕ) оператора IF (ЕСЛИ) на более высоком уровне вложенности (см. ч.4, п.6.4.3). |
6.17. Оператор INITIALIZE (ИНИЦИИРОВАТЬ) 6.17.1. Назначение Оператор INITIALIZE (ИНИЦИИРОВАТЬ) обеспечивает возможность присваивать выбранным типам полей данных заранее определенные значения, например, числовым данным нули, буквенно-цифровым данным - пробелы. 6.17.2. Общий формат |
6.17.3. Синтаксические правила (1) Литерал-1 и данное, на которое ссылается идентификатор-2, задают посылающую область; данное, на которое ссылается идентификатор-1, представляет принимающую область. (2) Каждая категория, заданная во фразе REPLACING (ЗАМЕНЯЯ), должна быть допустимой для принимающего операнда в операторе MOVE (ПОМЕСТИТЬ), в котором литерал-1 или данное, на которое ссылается идентификатор-2, используется как посылаемый операнд (п.6.19 настоящей части). (3) Одна и та же категория не может повторяться во фразе REPLACING (ЗАМЕНЯЯ). (4) Описание данного, заданного идентификатором-1 или подчиненного идентификатору-1, не должно содержать фразу OCCURS (ПОВТОРЯЕТСЯ) с вариантом DEPENDING (В ЗАВИСИМОСТИ ОТ). (5) Индексное данное не может быть операндом оператора INITIALIZE (ИНИЦИИРОВАТЬ). |
(6) Статья описания данного для данного, заданного идентификатором-1, не должна содержать фразу RENAMES (ПЕРЕИМЕНОВЫВАЕТ). |
6.17.4. Общие правила |
(1) Ключевое слово, следующее за словом REPLACING (ЗАМЕНЯЯ), соответствует категориям данных, как они определяются в этом документе (см. ч.4, п.4.3.3). |
(2) В зависимости от того, ссылается ли идентификатор-1 на элементарное или групповое данное, все действия выполняются, как если бы была написана последовательность операторов MOVE (ПОМЕСТИТЬ), каждый из которых имеет в качестве принимающего поля элементарное данное, подчиняющееся следующим правилам: если задана фраза REPLACING (ЗАМЕНЯЯ): |
а) если идентификатор-1 ссылается на групповое данное, любое подчиненное ему элементарное данное инициируется только в том случае, если оно принадлежит к категории, заданной во фразе REPLACING (ЗАМЕНЯЯ); |
б) если идентификатор-1 ссылается на элементарное данное, то это данное инициируется, только если оно принадлежит к категории, заданной во фразе REPLACING (ЗАМЕНЯЯ). Эта инициация производится следующим образом. Данное, на которое ссылается идентификатор-2 или литерал-1, действует как посылаемый операнд соответствующего неявного оператора MOVE (ПОМЕСТИТЬ). Это действие распространяется на все принимающие элементарные поля, включая все вхождения элементов таблицы в групповом данном за исключением полей, перечисленных в пунктах (3) и (4) общих правил. (3) Действие оператора INITIALIZE (ИНИЦИИРОВАТЬ) не распространяется на индексные данные и элементарные данные FILLER (ЗАПОЛНИТЕЛЬ). |
(4) Любое данное, которое подчиняется идентификатору принимающего данного и содержит фразу REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ), или любое подчиненное ему данное исключается из операции инициации. Однако принимающее данное или содержащее его данное может иметь в своем описании фразу REDEFINES (ПЕРЕОПРЕДЕЛЯЕТ). (5) Если оператор задан без фразы REPLACING (ЗАМЕНЯЯ), в данные буквенной, буквенно-цифровой и буквенно-цифровой редактируемой категорий посылаются пробелы, а в данные числовой и числовой редактируемой категории посылаются нули. В этом случае операция выполняется так, как если бы каждое принимающее данное было бы принимающей областью элементарного оператора MOVE (ПОМЕСТИТЬ) с пробелом или нулем в качестве посылаемого данного. (6) Во всех случаях содержимое данных, на которые ссылается идентификатор-1, устанавливается на указанные значения в порядке (слева направо) появления идентификатора-1 в операторе INITIALIZE (ИНИЦИИРОВАТЬ). В пределах этой последовательности, если идентификатор-1 ссылается на групповое данное, подчиненные ему элементарные данные инициируются в порядке их определения внутри группы. (7) Если идентификатор-1 занимает ту же область памяти, что идентификатор-2, результат выполнения оператора не определен, даже если эти данные описаны одной статьей описания данных (см. п.6.4.5 настоящей части). |
Формат 4 |
(4) Для каждой из фраз ALL (ВСЕ), LEADING (ВЕДУЩИЕ), CHARACTERS (ЛИТЕРЫ), FIRST (ПЕРВЫЙ), CONVERTING (ПРЕВРАЩАЯ) могут быть определены одна фраза BEFORE (ДО) и одна фраза AFTER (ПОСЛЕ). |
(9) При использовании формата 4 размер литерала-5 или данного, представляемого идентификатором-7, должен быть равен размеру литерала-4 или данного, представляемого идентификатором-6. Если вместо литерала-5 используется стандартная константа, размер данного, представленного стандартной константой, равен размеру литерала-4 или размеру данного, представляемого идентификатором-6. (10) Одна и та же литера не должна содержаться дважды ни в литерале-4, ни в данном, представляемом идентификатором-6. |
В формате 4 (16) Оператор INSPECT (ПРОСМОТРЕТЬ) интерпретируется и выполняется так, как будто задан оператор INSPECT (ПРОСМОТРЕТЬ) в формате 2 для одного и того же идентификатора-1 с последовательностью фраз ALL (ВСЕ) - по одной для каждой литеры литерала-4. Результат оператора такой же, как если бы в каждой фразе ALL (ВСЕ) в качестве литерала-1 указывалась единственная литера литерала-4, а в качестве литерала-3 - соответствующая единственная литера литерала-5. Соответствие между литерами литерала-4 и литерами литерала-5 осуществляется по порядковому номеру литеры в данном. (17) Если идентификатор-4, идентификатор-6 или идентификатор-7 занимают одну и ту же область памяти, результат выполнения оператора INSPECT (ПРОСМОТРЕТЬ) не определен, даже если эти идентификаторы определены одной и той же статьей описания данных. |
INSPECT ТЕМ TALLYING | ||
СО-0 FOR ALL "AB", ALL "D" | ||
СО-1 FOR ALL "ВС" | ||
CO-2 FOR LEADING "EF" | ||
СO-3 FOR LEADING "B" | ||
CO-4 FOR CHARACTERS; | ||
ПРОСМОТРЕТЬ ТЕМ СЧИТАЯ | ||
В СО-0, ВСЕ "АВ", ВСЕ "D" | ||
В СО-1 ВСЕ "ВС" | ||
В СО-2 ВЕДУЩИЕ "EF" | ||
В СО-3 ВЕДУЩИЕ "В" | ||
В СО-4 ЛИТЕРЫ; | ||
INSPECT ТЕМ REPLACING | ||
ALL "AB" BY "XY", "D" BY "X" | ||
ALL "ВС" BY "VW" | ||
LEADING "EF" BY "TU" | ||
LEADING "B" BY "S" | ||
FIRST "G" BY "P" | ||
CHARACTERS BY "Z" | ||
ПРОСМОТРЕТЬ ТЕМ ЗАМЕНЯЯ | ||
ВСЕ "АВ" НА "XY", "D" НА "X" | ||
ВСЕ "ВС" НА "VW" | ||
ВЕДУЩИЕ "EF" НА "TU" | ||
ВЕДУЩИЕ "В" НА "S" | ||
ПЕРВЫЙ "G" НА "Р" | ||
ЛИТЕРЫ НА "Z" | ||
Результаты действия оператора показаны ниже. |
Начальное значение данного ТЕМ | СО-0 | СО-1 | СО-2 | СО-3 | СО-4 | Результирующее значение данного ТЕМ |
EFABDBCGABEFGG | 3 | 1 | 1 | 0 | 5 | TUXYXVWRXYZZPZ |
ВАВАВС | 2 | 0 | 0 | 1 | 1 | SXYXYZ |
ВВВС | 0 | 1 | 0 | 2 | 0 | SSVW |
INSPECT ТЕМ TALLYING | ||
СО-0 FOR CHARACTERS | ||
СО-0 FOR ALL "A" | ||
ПРОСМОТРЕТЬ ТЕМ СЧИТАЯ | ||
В СО-0 ЛИТЕРЫ | ||
В СО-1 ВСЕ "А" | ||
INSPECT ТЕМ REPLACING | ||
CHARACTERS BY "Z" | ||
ALL "A" BY "X" | ||
ПРОСМОТРЕТЬ ТЕМ ЗАМЕНЯЯ | ||
ЛИТЕРЫ НА "Z" | ||
ВСЕ "А" НА "X" | ||
Результаты работы операторов показаны ниже. |
Исходное значение данного ТЕМ | СО-0 | CO-1 | Результирующее значение данного ТЕМ |
ВВВ | 3 | 0 | ZZZ |
ABA | 3 | 0 | ZZZ |
INSPECT ТЕМ TALLYING | ||
СО-0 FOR ALL "AB" BEFORE "ВС" | ||
CO-1 FOR LEADING "В" AFTER "D" | ||
СО-2 FOR CHARACTERS AFTER "A" BEFORE "C" | ||
ПРОСМОТРЕТЬ ТЕМ СЧИТАЯ | ||
В СО-0 ВСЕ "АВ" ДО "ВС" | ||
В СО-1 ВЕДУЩИЕ "В" ПОСЛЕ "D" | ||
В СО-2 ЛИТЕРЫ ПОСЛЕ "А" ДО "С" | ||
INSPECT ТЕМ REPLACING | ||
ALL "AB" BY "XY" BEFORE "ВС" | ||
LEADING "В" BY "W" AFTER "D" | ||
FIRST "E" BY "V" AFTER "D" | ||
CHARACTERS BY "Z" AFTER "A" BEFORE "C" | ||
ПРОСМОТРЕТЬ ТЕМ ЗАМЕНЯЯ | ||
ВСЕ "АВ" НА "XY" ДО "ВС" | ||
ВЕДУЩИЕ "В" НА "W" ПОСЛЕ "D" | ||
ПЕРВЫЙ "Е" НА "V" ПОСЛЕ "D" | ||
ЛИТЕРЫ НА "Z" ПОСЛЕ "А" ДО "С" | ||
Результаты работы операторов показаны ниже. |
Начальное значение ТЕМ | СО-0 | СО-1 | СО-2 | Результирующее значение ТЕМ |
BBEABDABABBCABEE | 3 | 0 | 2 | BBEXYZXYXYZCABVE |
ADDDDC | 0 | 0 | 4 | AZZZZC |
ADDDDA | 0 | 0 | 5 | AZZZZZ |
CDDDDC | 0 | 0 | 0 | CDDDDC |
BDBBBDB | 0 | 3 | 0 | BDWWWDB |
INSPECT ТЕМ TALLYING | ||
СО-0 FOR ALL "AB" AFTER "BA" BEFORE "ВС" | ||
ПРОСМОТРЕТЬ ТЕМ СЧИТАЯ | ||
В СО-0 ВСЕ "АВ" ПОСЛЕ "ВА" ДО "ВС" | ||
INSPECT ТЕМ REPLACING | ||
ALL "AB" BY "XY" AFTER "BA" BEFORE "ВС" | ||
ПРОСМОТРЕТЬ ТЕМ ЗАМЕНЯЯ | ||
ВСЕ "АВ" НА "XY" ПОСЛЕ "ВА" ДО "ВС". |
Исходное значение данного ТЕМ | СО-0 | Результирующее значение данного ТЕМ |
АВАВАВАВС | 1 | ABABXYABC |
Пример 5 | ||
INSPECT ТЕМ CONVERTING | ||
"ABCD" TO "XYZX" AFTER QUOTE BEFORE "#" | ||
ПРОСМОТРЕТЬ ТЕМ ПРЕВРАЩАЯ | ||
"ABCD" В "XYZX" ПОСЛЕ КАВЫЧКА ДО "#" | ||
Этот оператор эквивалентен следующему: | ||
INSPECT ITEM REPLACING | ||
ALL "A" BY "X" AFTER QUOTE BEFORE "#" | ||
ALL "B" BY "Y" AFTER QUOTE BEFORE "#" | ||
ALL "C" BY "Z" AFTER QUOTE BEFORE "#" | ||
ALL "D" BY "X" AFTER QUOTE BEFORE "#" | ||
ПРОСМОТРЕТЬ ТЕМ ЗАМЕНЯЯ | ||
ВСЕ "А" НА "X" ПОСЛЕ КАВЫЧКА ДО "#" | ||
ВСЕ "В" НА "Y" ПОСЛЕ КАВЫЧКА ДО "#" | ||
ВСЕ "С" НА "Z" ПОСЛЕ КАВЫЧКА ДО "#" | ||
ВСЕ "D" НА "X" ПОСЛЕ КАВЫЧКА ДО "#" | ||
Результаты работы оператора показаны ниже. |
Начальное значение ТЕМ | Результирующее значение ТЕМ |
AC "AEBDFBCD # АВ" D | AC "XEYXFYZX # АВ" D |
Формат 2 |
(2) CORR (СООТВ) является сокращением слова CORRESPONDING (СООТВЕТСТВЕННО). (3) При использовании фразы CORRESPONDING (СООТВЕТСТВЕННО) оба идентификатора должны представлять групповые данные. |